SQL vs PL SQL
SQL (Structured Query Language) er standardsproget til at skrive indgange relationelle databaser. SQL er simple sætninger, som gør det muligt at hente, indsætte, slette, opdatere poster efter behov. Det er simpelthen et dataorienteret sprog til udvælgelse og manipulation af datasæt. PL SQL (Procedural Language/Structured Query Language) er et proceduremæssigt udvidelsessprog til dataindtastning og manipulation af Oracle.
“PL/SQL, Oracles proceduremæssige udvidelse af SQL, er et avanceret fjerde generations programmeringssprog (4GL). Det tilbyder moderne funktioner såsom dataindkapsling, overbelastning, indsamlingstyper, undtagelseshåndtering og informationsskjul. PL/SQL tilbyder også problemfri SQL-adgang, tæt integration med Oracle-serveren og værktøjer, portabilitet og sikkerhed."
SQL
Structured query language (SQL) udtales som "sequel" er et databasecomputersprog designet til håndtering af data i relationelle databasestyringssystemer (RDBMS), og oprindeligt baseret på relationel algebra.
Grundlæggende anvendelsesområde for SQL er at indsætte data og udføre opdatering, sletning, skemaoprettelse, skemaændring og dataadgangskontrol mod databaser.
SQL har elementer, underopdelt i følgende:
Forespørgsler – Hent data baseret på specifikke kriterier. Der er få nøgleord, der kan bruges i forespørgsler. (Vælg, Fra, Hvor, Have, Grupper efter og bestil efter)
f.eks.: VÆLGFRA tabel1 WHERE kolonne1 > betingelse BESTIL EFTER kolonne2;
Erklæringer – der kan kontrollere transaktioner, programflow, forbindelser, sessioner eller diagnostik
Udtryk – Det kan producere enten;
Skalære værdier
Tabeller bestående af kolonner og rækker med data
prædikater -Specificer betingelser, der kan evalueres til SQL Boolean (sand/falsk/ukendt)
Klausuler – bestanddele af udsagn og forespørgsler
PL/SQL
PL/SQL (Procedural Language/Structured Query Language) er Oracle Corporations proceduremæssige udvidelsessprog til SQL og Oracles relationsdatabase. PL/SQL understøtter variabler, betingelser, sløjfer, arrays, undtagelser. PL/SQL-kodebeholdere kan i det væsentlige overholdes i oracle-databaserne. Softwareudviklere kan derfor implantere PL/SQL-enheder af funktionalitet i databasen direkte.
PL/SQL-programenheder kan defineres som følger:
Anonyme blokeringer
Der grundlaget for den enkleste PL/SQL-kode
Funktioner
Funktioner er en samling af SQL- og PL/SQL-sætninger. Funktioner udfører en opgave og bør returnere en værdi til det kaldende miljø.
Procedurer
Procedurer ligner funktioner. Procedurer kan også udføres for at udføre arbejde. Procedurer kan ikke bruges i en SQL-sætning, kan returnere flere værdier. Derudover kan funktioner kaldes fra SQL, mens procedurer ikke kan.
pakker
Brug af pakker er genbrug af kode. Pakker er grupper af teoretisk forbundne funktioner, procedurer, variabler, PL/SQL-tabel og record TYPE-sætninger, konstanter og markører osv.. Pakker har norm alt to dele, en specifikation og en body
To fordele ved pakker omfatter:
Modular tilgang, indkapsling af forretningslogik
Brug af pakkevariabler kan deklareres i sessionsniveauer
Typer af variabler i PL/SQL
Variables
Numeriske variable
Tegnvariable
Datovariabler
Datatyper for specifikke kolonner
Forskel mellem SQL og PL/SQL
SQL er dataorienteret sprog til udvælgelse og manipulation af data, men PL SQL er et proceduresprog til at skabe applikationer.
SQL udfører én sætning ad gangen, mens SQL-kodeblok i PL kunne udføres.
SQL er deklarativ, hvor som PL SQL er proceduremæssig.
SQL bruges til at skrive forespørgsler, Data Manipulation Language (DML) og Data Definition Language (DDL), mens PL SQL bruges til at skrive programblokke, triggere, funktioner, procedurer og pakker.
Recap:
SQL er et struktureret forespørgselssprog. I SQL bruges forskellige forespørgsler til at håndtere databasen på en forenklet måde. PL/SQL er proceduresprog, der indeholder forskellige typer variable, funktioner og procedurer. SQL giver udviklere mulighed for at udstede en enkelt forespørgsel eller udføre enkelt indsættelse/opdatering/sletning ad gangen, mens PL/SQL tillader at skrive et komplet program for at få udført flere valg/indsættelser/opdateringer/sletninger ad gangen. SQL er et simpelt dataorienteret sprog, mens PL/SQL programmeringssprog.