PL-SQL vs T-SQL
T-SQL (Transact SQL) je razširitev SQL, ki jo je razvil Microsoft. T-SQL se uporablja v strežniku Microsoft SQL. PL / SQL (Procedural Language / Structured Query Language) je tudi proceduralna razširitev za SQL, ki ga je razvil Oracle. PL / SQL je glavni programski jezik, vgrajen v bazo podatkov Oracle.
PL / SQL
PL / SQL je proceduralna razširitev za SQL, ki jo je razvil Oracle. Programi PL / SQL so sestavljeni iz blokov, ki je osnovna enota PL / SQL. PL / SQL ponuja podporo spremenljivkam, zankam (WHILE zanke, zanke FOR in zank Cursor FOR), pogojnim stavkom, izjemam in nizom. Program PL / SQL vsebuje stavke SQL. Ti stavki SQL vključujejo SELECT, INSERT, UPDATE, DELETE itd. Stavki SQL, kot so CREATE, DROP ali ALTER, niso dovoljeni v programih PL / SQL. Funkcije PL / SQL lahko vsebujejo stavke PL / SQL in stavke SQL in vrne vrednost. Postopki PL / SQL na drugi strani ne morejo vsebovati stavkov SQL in ne vračajo vrednosti. PL / SQL podpira tudi nekatere objektno orientirane programske koncepte, kot so enkapsulacija, preobremenitev funkcij in skrivanje informacij. Toda ne podpira dedovanja. V PL / SQL pakete lahko uporabimo za razvrščanje funkcij, postopkov, spremenljivk itd. Paketi omogočajo ponovno uporabo kode. Uporaba PL / SQL kode na strežniku Oracle bi izboljšala delovanje, saj Oracle strežnik predhodno pripravi kodo PL / SQL, preden jo dejansko izvrši.
T-SQL
T-SQL je razširitev SQL, ki jo je razvil Microsoft. T-SQL razširja SQL z dodajanjem več funkcij, kot so postopkovno programiranje, lokalne spremenljivke in podporne funkcije za obdelavo nizov / podatkov. Zaradi teh lastnosti je T-SQL Turing popoln. Vsaka aplikacija, ki mora komunicirati s strežnikom Microsoft SQL, mora poslati izjavo T-SQL na strežnik Microsoft SQL. T-SQL ponuja zmogljivosti za nadzor pretoka z naslednjimi ključnimi besedami: BEGIN in END, BREAK, CONTINUE, GOTO, IF in ELSE, RETURN, WAITFOR in WHILE. Poleg tega T-SQL dovoljuje, da se stavkom DELETE in UPDATE doda stavka FROM. Ta določba FROM bi omogočila vstavljanje povezav v stavke DELETE in UPDATE. T-SQL omogoča tudi vstavitev več vrstic v tabelo s stavkom BULK INSERT. S tem bi v tabelo vstavili več vrstic z branjem zunanje datoteke, ki vsebuje podatke. Uporaba BULK INSERT izboljša zmogljivost kot uporaba ločenih stavkov INSERT za vsako vrstico, ki jo je treba vstaviti.
Kakšna je razlika med PL / SQL in T-SQL?
PL / SQL je proceduralna razširitev za SQL, ki jo ponuja Oracle in se uporablja s strežnikom baz podatkov Oracle, medtem ko je T-SQL razširitev SQL, ki jo je razvil Microsoft in se uporablja predvsem z Microsoft SQL Server. Obstaja nekaj razlik med vrstami podatkov v PL / SQL in T-SQL. T-SQL ima na primer dve vrsti podatkov, imenovani DATETIME in SMALL-DATETIME, medtem ko ima PL / SQL eno vrsto podatkov, imenovano DATE. Poleg tega je za pridobitev funkcionalnosti funkcije DECODE v PL / SQL treba uporabiti stavek CASE v T-SQL. Tudi namesto stavka SELECT INTO v T-SQL je treba v PL / SQL uporabiti stavek INSERT INTO. V PL / SQL obstaja operater MINUS, ki ga lahko uporabljamo s stavki SELECT. V T-SQL lahko enake rezultate dobimo z uporabo stavka NOT EXISTS s stavki SELECT.