PL-SQL vs T-SQL
T-SQL (Transact SQL) je rozšírenie SQL vyvinuté spoločnosťou Microsoft. T-SQL sa používa v serveri Microsoft SQL Server. PL / SQL (Procedural Language / Structured Query Language) je tiež procedurálne rozšírenie pre SQL vyvinuté spoločnosťou Oracle. PL / SQL je hlavný programovací jazyk zabudovaný do databázy Oracle.
PL / SQL
PL / SQL je procedurálne rozšírenie pre SQL vyvinuté spoločnosťou Oracle. Programy PL / SQL sa skladajú z blokov, ktoré sú základnou jednotkou PL / SQL. PL / SQL poskytuje podporu pre premenné, slučky (WHILE slučky, FOR slučky a kurzor kurzorové slučky), podmienené príkazy, výnimky a polia. Program PL / SQL obsahuje príkazy SQL. Tieto príkazy SQL zahŕňajú SELECT, INSERT, UPDATE, DELETE, atď. Príkazy SQL ako CREATE, DROP alebo ALTER nie sú povolené v programoch PL / SQL. Funkcie PL / SQL môžu obsahovať príkazy PL / SQL a príkazy SQL a vracajú hodnotu. Procedúry PL / SQL na druhej strane nemôžu obsahovať príkazy SQL a nevracajú hodnotu. PL / SQL tiež podporuje niektoré objektovo orientované programovacie koncepcie, ako je zapuzdrenie, preťaženie funkcií a skrytie informácií. Nepodporuje však dedičstvo. V PL / SQL môžu byť balíčky použité na zoskupenie funkcií, procedúr, premenných atď. Balíky umožňujú opakované použitie kódu. Použitie kódu PL / SQL na serveri Oracle by viedlo k zlepšeniu výkonu, pretože server Oracle pred tým, ako ho skutočne vykoná, predkompiluje kód PL / SQL..
T-SQL
T-SQL je rozšírenie SQL vyvinuté spoločnosťou Microsoft. T-SQL rozširuje SQL pridaním niekoľkých funkcií, ako sú procedurálne programovanie, lokálne premenné a podporné funkcie pre spracovanie reťazcov / údajov. Vďaka týmto vlastnostiam je T-SQL Turing kompletný. Každá aplikácia, ktorá potrebuje komunikovať so serverom Microsoft SQL, musí poslať príkaz T-SQL na server Microsoft SQL Server. T-SQL poskytuje možnosti riadenia toku pomocou nasledujúcich kľúčových slov: BEGIN a END, BREAK, CONTINUE, GOTO, IF a ELSE, RETURN, WAITFOR a WHILE. Okrem toho T-SQL umožňuje pridanie klauzuly FROM k príkazom DELETE a UPDATE. Táto klauzula FROM by umožnila vkladanie spojení do príkazov DELETE a UPDATE. T-SQL tiež umožňuje vkladať násobky riadkov do tabuľky pomocou príkazu BULK INSERT. Do tabuľky by sa vložilo viac riadkov čítaním externého súboru obsahujúceho údaje. Použitie BULK INSERT zvyšuje výkonnosť ako použitie samostatných príkazov INSERT pre každý riadok, ktorý je potrebné vložiť.
Aký je rozdiel medzi PL / SQL a T-SQL?
PL / SQL je procedurálne rozšírenie SQL poskytované Oracle a používa sa s databázovým serverom Oracle, zatiaľ čo T-SQL je rozšírenie SQL vyvinuté spoločnosťou Microsoft a používa sa hlavne s Microsoft SQL Server. Medzi dátovými typmi v PL / SQL a T-SQL sú určité rozdiely. Napríklad T-SQL má dva typy údajov nazývané DATETIME a SMALL-DATETIME, zatiaľ čo PL / SQL má jeden typ údajov s názvom DATE. Ďalej, aby sa získala funkčnosť funkcie DECODE v PL / SQL, príkaz CASE sa musí použiť v T-SQL. Namiesto príkazu SELECT INTO v T-SQL sa príkaz INSERT INTO musí použiť aj v PL / SQL. V PL / SQL existuje operátor MINUS, ktorý by sa mohol použiť s príkazmi SELECT. V T-SQL sa rovnaké výsledky dajú získať pomocou klauzuly NOT EXISTS s príkazmi SELECT.