[G_PRO] Databanken
  • Welkom
  • Inleiding
    • Benodigdheden
    • Nuttige extra's
    • Mee helpen?
  • Semester 1: databanken intro
    • Installatie van alle software
    • Databanken
      • Inleiding
      • Voorbeeld
      • Wat is een relationele databank
      • Basisstructuren van een relationele databank
      • Diagramnotatie
    • (My)SQL
      • DDL
        • Datatypes
          • Enum
        • CREATE
        • ALTER
        • DROP
        • Sleutels voor identificatie
        • Primaire sleutel toevoegen/verwijderen
        • Primaire sleutel in een nieuwe tabel
        • Vreemde sleutels
        • Relaties-voorstellen
        • Labo
      • DML
        • INSERT
        • UPDATE
        • DELETE
        • LIKE
        • Logische operatoren
        • Vergelijkingen
        • SELECT sorteren
        • Functies
        • Labo
      • SELECT
        • SELECT met clausules
        • SELECT met WHERE
      • Groeperen en samenvatten
        • Aggregaatfuncties
        • SELECT met GROUP BY
        • SELECT met HAVING
        • IN
        • BETWEEN
        • SELECT DISTINCT
        • Labo
      • JOINS
        • JOINs bij simpele relaties
        • JOINs via tussenliggende tabel
        • UPDATE van JOIN
      • apTunes project
  • PRO (GEEN LEERSTOF EN/OF IN OPBOUW)
    • PRO
      • Waarom een databank?
      • Een databank ontwerpen
      • ERM
        • Basisbegrippen
        • Constraints (voorwaarden, beperkingen)
        • Keys (Sleutels)
        • Discussiepunten bij ontwerp in ERM
        • Aanvullende begrippen
        • Herleiden van ERD's tot tabellen
        • Voorbeeld
        • Bibliografie
        • Labo oefeningen
      • NoSQL
      • Blockchain
  • SEMESTER 2: DATABANKEN
    • Join
      • INNER JOIN
      • LEFT JOIN
      • COALESCE
      • RIGHT JOIN
      • LEFT EXCLUDING JOIN
      • RIGHT EXCLUDING JOIN
      • OUTER JOIN
      • OUTER EXCLUDING JOIN
      • Samenvattende flowchart
      • Labo oefeningen
    • Views
      • CREATE
      • ALTER
      • DROP
      • UPDATE
      • RENAME
      • BESLUIT
      • Labo oefeningen
    • Subqueries
      • Een onafhankelijke subquery
      • Subqueries met tijdelijke opslag
      • Labo oefeningen
    • Indexeren
      • mogelijkheden
      • CREATE
      • DROP
      • UNIQUE
      • trage queries opvolgen
    • ERD
      • Referentiële beperkingen
      • Overzicht
      • Labo oefeningen
    • Stored programs
      • Stored procedures
      • CREATE
      • DROP
      • DELIMITER
      • Variabelen
      • Parameters
      • Gerelateerde data invoegen
      • IF -THEN-ELSE-ELSEIF
      • LOOP
      • WHILE
      • REPEAT
      • SIGNAL
      • Error handling
      • RESIGNAL
      • Stored functies
      • Triggers
      • Cursors
      • Transacties en rollbacks
      • Object access control
      • Oefeningen basisgebruik stored procedures
      • Oefeningen control flow
      • Oefeningen stored functions
      • Oefeningen triggers
      • Oefeningen error handling
      • Oefeningen transacties en access control
Powered by GitBook
On this page
  • Vraag 1
  • Vraag 2
  • Vraag 3
  • Vraag 4

Was this helpful?

Export as PDF
  1. SEMESTER 2: DATABANKEN
  2. Stored programs

Oefeningen stored functions

Vraag 1

Schrijf een stored function PercentageOf. Hiermee kan je een bepaald percentage van een getal uitrekenen. Het percentage geef je eerst mee en is een geheel getal, het getal waarvan je dat percentage wil uitrekenen is het tweede argument. Dit is een double.

Als een van de twee getallen NULL is, signaleer je foutcode '45000'.

Noem je script 0701__Oefening.sql.

Vraag 2

Schrijf een stored function RandUpTo. Deze genereert een willekeurig geheel getal tussen 1 en het meegegeven getal (volgens de formule die we eerder al gebruikt hebben, maar netjes verpakt in een stored function). Als de bovengrens NULL is of kleiner is dan 1, signaleer je foutcode '45000'.

Noem je script 0702__Oefening.sql.

Vraag 3

Schrijf een stored function RandBetween. Deze genereert een willekeurig geheel getal tussen twee meegegeven getallen. Als het eerste getal groter dan het tweede is of als een van de twee NULL is, signaleer je foutcode '45000'.

Tip: Begin door het verschil tussen de twee getallen te berekenen. Maak daarna gebruik van RandUpTo uit de vorige vraag.

Noem je script 0703__Oefening.sql.

Vraag 4

Schrijf een stored procedure ConvertFeetToMeters. Deze verwacht twee gehele getallen: een aantal voet (feet) en een aantal duim (inches). Als uitvoer levert ze het aantal meter, afgerond tot op twee cijfers na de komma. Als een van de meegegeven getallen NULL is, signaleer je foutcode '45000'.

1 voet is 0.3048 meter. 1 duim is 0.0254 meter.

Noem je script 0704__Oefening.sql.

PreviousOefeningen control flowNextOefeningen triggers

Last updated 3 years ago

Was this helpful?