Rédigé par des étudiants ayant réussi Disponible immédiatement après paiement Lire en ligne ou en PDF Mauvais document ? Échangez-le gratuitement 4,6 TrustPilot
logo-home
Document preview thumbnail
Aperçu 4 sur 68 pages
Resume

Samenvatting Databanken 2 - Stored Procedures

Document preview thumbnail
Aperçu 4 sur 68 pages

Uitgebreide samenvatting over Stored Procedures uit Databanken 2. Gericht op theorie, aangevuld met voorbeelden voor een makkelijkere verwerking van de leerstof.

Aperçu du contenu

DATABANKEN 2: STORED PROCEDURES
H1 : PL/SQL INTRODUCTIE

PL/SQL = Procedural Language / Structured Query Language

MOGELIJKHEDEN VAN SQL

SQL is nodig om een relationele databank te maken en te beheren:
o Objecten creëren en inhouden van tabellen wijzigen + opvragen
o Views, sequences, synoniemen, … creëren
o Database beveiligen

SQL is een taal gebaseerd op de verzamelingenleer:
o Rijen uit tabellen zitten in willekeurige volgorde
o In willekeurige volgorde opgevraagd en gewijzigd

SQL is een declaratieve taal:
o Je geeft WAT je wil bereiken, niet HOE
→ 4de generatietaal: hebben een bepaald doel

ONMOGELIJKHEDEN VAN SQL

o Geen variabelen voor tussenresultaten
o Geen procedurele elementen zoals IF of LOOP structuren
o Je kan geen volgorde afdwingen bij verwerken rijen (sinds willekeurig verwerkt)
o Constraints leggen slechts in beperkte mate business rules op aan tabelinhouden

OPLOSSINGEN VIA PL/SQL

o Variabelen declareren voor tussenresultaten
o Bevat procedurele elementen (IF, LOOP)
o D.m.v. cursors en collections rijen in een bepaalde volgorde laten verwerken
o Triggers bieden heel wat mogelijkheden om business rules op te leggen aan
tabelinhouden en om de toegang tot tabellen verder te beveiligen
o Packages schrijven
(om broncode van functies en procedures af te schermen van de gebruikers)
o Supplied packages beschikbaar
(voorgeprogrammeerd en bruikbaar in zelfgeschreven stored procedures)




1

,H2 : BASIS PL/SQL

PL/SQL BLOCK

Een PL/SQL programma bestaat uit 1 of meerdere PL/SQL blokken
Een PL/SQL blok bestaat (maximum) uit 3 delen:

o Declaratie deel
→ waarin variabelen, constanten, cursors, collections,
functies, procedures, exceptions worden gedeclareerd
o Uitvoerings deel
→ waarin de instructies worden opgegeven
o Exceptions deel
→ waarin foutsituaties worden opgevangen

CREATE OR REPLACE PROCEDURE procedurenaam
(parameterlijst)

IS {Declaratie deel}

BEGIN {Uitvoerings deel}

EXCEPTIONS {Exceptions deel}

END procedurenaam;

DECLARATIE DEEL

→ declaratie van o.a. variabelen, constanten, cursors, collections, procedures, functies

Hoe variabelen en constanten declareren?

variabelenaam [CONSTANT] datatype [NOT NULL] [{:=|DEFAULT} expressie];

Variabele naam:
→ laten beginnen met v_ (afspraak)

Datatype:
o Alle SQL-datatypes
o PLS_INTEGER
→ om gehele getallen binair te stockeren + om snel te rekenen
o BOOLEAN
→ 3-waardige logica: TRUE, FALSE en NULL
o Gebruik van %TYPE
→ voordeel: up-to-date datatype
→ nadeel: netwerkverkeer

DEFAULT of :=
→ om een initiele waarde toe te kennen



2

,CONSTANT:
→ gebruiken voor declaratie van een constante
→ verplicht initiële waarde
→ begint met c_ (afspraak)

NOT NULL:
→ verplicht initiële waarde

Voorbeelden:
v_aantal NUMBER(3) := 0;
c_percent CONSTANT NUMBER(3,2) DEFAULT 0.05;
v_mnr medewerkers.mnr%TYPE;
v_oud_mnr v_mnr%TYPE;

UITVOERINGS DEEL

→ bevat de instructies en begint met het woord BEGIN
→ elke instructie wordt afgesloten met “;”

Welke componenten kunnen we terugvinden in instructies?

Operatoren:
o Rekenkundig * / + - ** (** = exponentieel)
o Alfanumerisch || (|| = concatenatie)
o Vergelijkingsoperatoren < > = <= >= != <>
o IS NULL of IS NOT NULL
o BETWEEN … AND
o LIKE
o IN
o Logische operatoren AND, OR en NOT

Functies:
→ alle functies die we kennen uit SQL
(substr, instr, round, trunc, upper, lower, …)
→ behalve DECODE en GROEPSFUNCTIES
(count, sum, avg, max, min)

FOUT: v_max := MAX(lengte);
CORRECT: SELECT MAX(lengte) INTO v_max FROM cursussen;




3

, Programmabesturing:

De IF structuur:

IF logische expressie1
THEN commandoreeks1;
[
ELSIF logische expressie2
THEN commandoreeks2;
]
[
ELSE commandoreeks3;
]
END IF;

Richtlijnen bij het gebruik van IF statements:
o Let op de spelling van de key words! (Bv. ELSIF, END IF)
o PL/SQL werkt met een driewaardige logica (TRUE, FALSE, NULL)
→ wanneer een conditie NULL oplevert wordt er gehandeld als FALSE

De CASE structuur:

CASE variabele
WHEN expressie1
THEN commandoreeks1;
[
WHEN expressie2
THEN commandoreeks2;
]
[
ELSE commandoreeks3;
END CASE;

Richtlijnen bij het gebruik van CASE statements:
o PL/SQL werkt met een driewaardige logica (TRUE, FALSE, NULL)
→ wanneer een conditie NULL oplevert wordt er gehandeld als FALSE
o Als er geen ELSE tak is opgenomen en geen van de (logische) expressies leidt tot
TRUE, dan stopt het programma met een foutmelding

ORA-06592: CASE not found while executing CASE statement

Bemerkingen rond het gebruik van NULL waarden bij condities:
o Enkelvoudige condities waarbij NULLs betrokken zijn resulteren steeds in NULL
o De logische operator NOT toegepast op NULL geeft steeds NULL terug




4

Infos sur le Document

Publié le
6 janvier 2019
Nombre de pages
68
Écrit en
2018/2019
Type
Resume
€5,99

Mauvais document ? Échangez-le gratuitement Dans les 14 jours suivant votre achat et avant le téléchargement, vous pouvez choisir un autre document. Vous pouvez simplement dépenser le montant à nouveau.
Rédigé par des étudiants ayant réussi
Disponible immédiatement après paiement
Lire en ligne ou en PDF

Seller avatar
Les scores de réputation sont basés sur le nombre de documents qu'un vendeur a vendus contre paiement ainsi que sur les avis qu'il a reçu pour ces documents. Il y a trois niveaux: Bronze, Argent et Or. Plus la réputation est bonne, plus vous pouvez faire confiance sur la qualité du travail des vendeurs.
DeKeyser
4,1
(20)
Vendu
63
Abonnés
42
Éléments
19
Dernière vente
11 mois de cela

Avis d'acheteurs vérifiés




Pourquoi les étudiants choisissent Stuvia

Créé par d'autres étudiants, vérifié par les avis

Une qualité sur laquelle compter : rédigé par des étudiants qui ont réussi et évalué par d'autres qui ont utilisé ce document.

Le document ne convient pas ? Choisis un autre document

Aucun souci ! Tu peux sélectionner directement un autre document qui correspond mieux à ce que tu cherches.

Paye comme tu veux, apprends aussitôt

Aucun abonnement, aucun engagement. Paye selon tes habitudes par carte de crédit et télécharge ton document PDF instantanément.

Student with book image

“Acheté, téléchargé et réussi. C'est aussi simple que ça.”

Alisha Student

Foire aux questions