SQL versus PL SQL
SQL (Structured Query Language) is de standaardtaal om relationele invoerdatabases te schrijven. SQL is eenvoudige instructies, waarmee u records kunt ophalen, invoegen, verwijderen en bijwerken als de gebruiker dat nodig heeft. Het is eenvoudig een datageoriënteerde taal voor het selecteren en manipuleren van een set gegevens. PL SQL (Procedural Language/Structured Query Language) is een procedurele uitbreidingstaal voor gegevensinvoer en manipulatie door Oracle.
“PL/SQL, Oracle's procedurele uitbreiding van SQL, is een geavanceerde vierde generatie programmeertaal (4GL). Het biedt moderne functies zoals het inkapselen van gegevens, overbelasting, verzamelingstypen, het afhandelen van uitzonderingen en het verbergen van informatie. PL/SQL biedt ook naadloze SQL-toegang, nauwe integratie met de Oracle-server en tools, overdraagbaarheid en beveiliging.”
SQL
Structured Query Language (SQL) uitgesproken als "vervolg" is een database-computertaal die is ontworpen voor het beheren van gegevens in relationele databasebeheersystemen (RDBMS), en oorspronkelijk gebaseerd op relationele algebra.
Basisbereik van SQL is het invoegen van gegevens en het uitvoeren van updates, verwijderen, schemacreatie, schemawijziging en gegevenstoegangscontrole voor databases.
SQL heeft elementen, onderverdeeld in de volgende:
Queries – Haal gegevens op op basis van specifieke criteria. Er zijn maar weinig trefwoorden die in zoekopdrachten kunnen worden gebruikt. (Selecteren, Van, Waar, Hebben, Groeperen op en bestellen op)
e.g: SELECTFROM table1 WHERE column1 > conditie ORDER BY column2;
Statements – Dat kan transacties, programmastroom, verbindingen, sessies of diagnostiek regelen
Expressies – Dat kan ofwel; produceren
Scalaire waarden
Tabellen bestaande uit kolommen en rijen gegevens
Predicaten -Specificeer voorwaarden die kunnen worden geëvalueerd naar SQL Boolean (true/false/unknown)
Clauses – Bestanddelen van verklaringen en vragen
PL/SQL
PL/SQL (Procedural Language/Structured Query Language) is de procedurele extensietaal van Oracle Corporation voor SQL en de relationele database van Oracle. PL/SQL ondersteunt variabelen, voorwaarden, lussen, arrays, uitzonderingen. PL/SQL kunnen in wezen codecontainers worden toegevoegd aan de Oracle-databases. Softwareontwikkelaars kunnen daarom PL/SQL-eenheden met functionaliteit rechtstreeks in de database implanteren.
PL/SQL programma-eenheden kunnen als volgt worden gedefinieerd:
Anonieme blokken
Vormt de basis van de eenvoudigste PL/SQL-code
Functies
Functies zijn een verzameling SQL- en PL/SQL-instructies. Functies voeren een taak uit en moeten een waarde teruggeven aan de aanroepende omgeving.
Procedures
Procedures zijn gelijk aan Functions. Procedures kunnen ook worden uitgevoerd om werk uit te voeren. Procedures kunnen niet worden gebruikt in een SQL-instructie, kunnen meerdere waarden retourneren. Bovendien kunnen functies worden aangeroepen vanuit SQL, terwijl procedures dat niet kunnen.
Pakketten
Het gebruik van pakketten is het hergebruiken van code. Pakketten zijn groepen van theoretisch gekoppelde functies, procedures, variabelen, PL/SQL-tabel en record TYPE-instructies, constanten en cursors enz. Pakketten hebben meestal twee delen, een specificatie en een hoofdtekst
Twee voordelen van pakketten zijn:
Modulaire aanpak, inkapseling van bedrijfslogica
Het gebruik van pakkettenvariabelen kan declareren in sessieniveaus
Soorten variabelen in PL/SQL
Variabelen
Numerieke variabelen
Tekenvariabelen
Datumvariabelen
Gegevenstypen voor specifieke kolommen
Verschil tussen SQL en PL/SQL
SQL is een datageoriënteerde taal voor het selecteren en manipuleren van data, maar PL SQL is een proceduretaal om applicaties te maken.
SQL voert één instructie tegelijk uit, terwijl in PL SQL-codeblok zou kunnen worden uitgevoerd.
SQL is declaratief, terwijl PL SQL procedureel is.
SQL wordt gebruikt om query's, Data Manipulation Language (DML) en Data Definition Language (DDL) te schrijven, terwijl PL SQL wordt gebruikt om programmablokken, triggers, functies, procedures en pakketten te schrijven.
Samenvatting:
SQL is een gestructureerde zoektaal. In SQL worden verschillende queries gebruikt om de database op een vereenvoudigde manier af te handelen. PL/SQL is proceduretaal en bevat verschillende soorten variabelen, functies en procedures. SQL stelt de ontwikkelaar in staat om een enkele query uit te voeren of een enkele insert/update/delete tegelijk uit te voeren, terwijl PL/SQL het schrijven van een volledig programma mogelijk maakt om meerdere selecties/inserts/updates/deletes tegelijk te doen. SQL is een eenvoudige datageoriënteerde taal, terwijl PL/SQL-programmeertaal.