SQL vs PL SQL
SQL (Structured Query Language) er standardspråket for å skrive relasjonsdatabaser. SQL er enkle setninger, som gjør det mulig å hente, sette inn, slette, oppdatere poster etter behov. Det er ganske enkelt dataorientert språk for å velge og manipulere sett med data. PL SQL (Procedural Language/Structured Query Language) er et prosedyreutvidelsesspråk for datainntasting og manipulering av Oracle.
“PL/SQL, Oracles prosedyreutvidelse av SQL, er et avansert fjerdegenerasjons programmeringsspråk (4GL). Den tilbyr moderne funksjoner som datainnkapsling, overbelastning, innsamlingstyper, unntakshåndtering og informasjonsskjuling. PL/SQL tilbyr også sømløs SQL-tilgang, tett integrasjon med Oracle-serveren og verktøy, portabilitet og sikkerhet.»
SQL
Structured query language (SQL) uttales som "sequel" er et databasedataspråk utviklet for å administrere data i relasjonsdatabaseadministrasjonssystemer (RDBMS), og opprinnelig basert på relasjonsalgebra.
Grunnleggende omfang av SQL er å sette inn data og utføre oppdatering, sletting, skjemaoppretting, skjemamodifisering og datatilgangskontroll mot databaser.
SQL har elementer, delt inn i følgende:
Queries – Hent data basert på spesifikke kriterier. Det er få nøkkelord som kan brukes i søk. (Velg, Fra, Hvor, Har, Grupper etter og bestill etter)
f.eks: SELECTFROM table1 WHERE column1 > condition ORDER BY column2;
Uttalelser – som kan kontrollere transaksjoner, programflyt, tilkoblinger, økter eller diagnostikk
Uttrykk – som kan produsere enten;
Skalære verdier
Tabeller som består av kolonner og rader med data
Predikater - Spesifiser betingelser som kan evalueres til SQL Boolean (true/false/unknown)
Klausuler – bestanddeler av utsagn og spørringer
PL/SQL
PL/SQL (Procedural Language/Structured Query Language) er Oracle Corporations prosedyreutvidelsesspråk for SQL og Oracles relasjonsdatabase. PL/SQL støtter variabler, betingelser, løkker, arrays, unntak. PL/SQL-kodebeholdere kan i hovedsak overholdes i oracle-databasene. Programvareutviklere kan derfor implantere PL/SQL-enheter med funksjonalitet inn i databasen rett.
PL/SQL-programenheter kan defineres som følger:
Anonyme blokkeringer
Former grunnlaget for den enkleste PL/SQL-koden
Functions
Functions er en samling av SQL- og PL/SQL-setninger. Funksjoner utfører en oppgave og skal returnere en verdi til anropsmiljøet.
Prosedyrer
Prosedyrer er like funksjoner. Prosedyrer kan også utføres for å utføre arbeid. Prosedyrer kan ikke brukes i en SQL-setning, kan returnere flere verdier. I tillegg kan funksjoner kalles fra SQL, mens prosedyrer ikke kan.
Pakker
Bruk av pakker er gjenbruk av kode. Pakker er grupper av teoretisk koblede funksjoner, prosedyrer, variabler, PL/SQL-tabeller og post TYPE-setninger, konstanter og markører osv… Pakker har vanligvis to deler, en spesifikasjon og en body
To fordeler med pakker inkluderer:
Modulær tilnærming, innkapsling av forretningslogikk
Bruk av pakkevariabler kan deklareres i øktnivåer
Typer av variabler i PL/SQL
Variables
Numeriske variabler
Tegnvariabler
Datovariabler
Datatyper for spesifikke kolonner
Forskjellen mellom SQL og PL/SQL
SQL er dataorientert språk for å velge og manipulere data, men PL SQL er et prosedyrespråk for å lage applikasjoner.
SQL kjører én setning om gangen, mens SQL-kodeblokk i PL kan kjøres.
SQL er deklarativ der PL SQL er prosedyremessig.
SQL brukes til å skrive spørringer, Data Manipulation Language (DML) og Data Definition Language (DDL), mens PL SQL brukes til å skrive programblokker, triggere, funksjoner, prosedyrer og pakker.
Recap:
SQL er et strukturert søkespråk. I SQL brukes ulike spørringer for å håndtere databasen på en forenklet måte. PL/SQL er et prosedyrespråk som inneholder ulike typer variabler, funksjoner og prosedyrer. SQL lar utviklere utstede enkeltspørring eller utføre enkelt innsetting/oppdatering/sletting om gangen, mens PL/SQL lar skriving av komplette program gjøres flere valg/innsettinger/oppdateringer/slettinger om gangen. SQL er enkelt dataorientert språk, mens PL/SQL programmeringsspråk.