Rozdíl mezi PL-SQL a T-SQL

PL-SQL vs. T-SQL

T-SQL (Transact SQL) je rozšíření SQL vyvinuté společností Microsoft. T-SQL se používá v Microsoft SQL Server. PL / SQL (Procedural Language / Structured Query Language) je také procedurální rozšíření pro SQL vyvinuté společností Oracle. PL / SQL je hlavní programovací jazyk zabudovaný do databáze Oracle.

PL / SQL

PL / SQL je procedurální rozšíření pro SQL vyvinuté společností Oracle. Programy PL / SQL jsou tvořeny bloky, které jsou základní jednotkou PL / SQL. PL / SQL poskytuje podporu pro proměnné, smyčky (WHILE smyčky, FOR smyčky a kurzorové smyčky FOR), podmíněné příkazy, výjimky a pole. Program PL / SQL obsahuje příkazy SQL. Tyto příkazy SQL zahrnují SELECT, INSERT, UPDATE, DELETE atd. Příkazy SQL jako CREATE, DROP nebo ALTER nejsou v programech PL / SQL povoleny. Funkce PL / SQL mohou obsahovat příkazy PL / SQL a SQL a vrací hodnotu. Procedury PL / SQL na druhé straně nemohou obsahovat příkazy SQL a nevrací hodnotu. PL / SQL také podporuje některé koncepty objektově orientovaného programování, jako je zapouzdření, přetížení funkcí a skrytí informací. Nepodporuje však dědičnost. V PL / SQL lze balíčky použít k seskupení funkcí, procedur, proměnných atd. Balíky umožňují opětovné použití kódu. Použití kódu PL / SQL na serveru Oracle by vedlo ke zlepšení výkonu, protože server Oracle před kompilací kódu PL / SQL před jeho skutečným provedením.

T-SQL

T-SQL je rozšíření SQL vyvinuté společností Microsoft. T-SQL rozšiřuje SQL přidáním několika funkcí, jako je procedurální programování, lokální proměnné a podpůrné funkce pro zpracování řetězců / dat. Díky těmto vlastnostem je T-SQL Turing kompletní. Každá aplikace, která potřebuje komunikovat se serverem Microsoft SQL, musí odeslat příkaz T-SQL na server Microsoft SQL Server. T-SQL poskytuje funkce řízení toku pomocí následujících klíčových slov: BEGIN a END, BREAK, CONTINUE, GOTO, IF a ELSE, RETURN, WAITFOR a WHILE. T-SQL navíc umožňuje přidat klauzuli FROM k příkazům DELETE a UPDATE. Tato klauzule FROM by umožnila vložení spojení do příkazů DELETE a UPDATE. T-SQL také umožňuje vkládat násobky řádků do tabulky pomocí příkazu BULK INSERT. Tím by se do tabulky vložilo více řádků přečtením externího souboru obsahujícího data. Použití BULK INSERT zlepšuje výkon než použití samostatných příkazů INSERT pro každý řádek, který je třeba vložit.

Jaký je rozdíl mezi PL / SQL a T-SQL?

PL / SQL je procedurální rozšíření SQL poskytované společností Oracle a používá se s databázovým serverem Oracle, zatímco T-SQL je rozšíření SQL vyvinuté společností Microsoft a používá se hlavně u serveru Microsoft SQL Server. Mezi datovými typy v PL / SQL a T-SQL existují určité rozdíly. Například T-SQL má dva datové typy nazvané DATETIME a SMALL-DATETIME, zatímco PL / SQL má jeden datový typ nazvaný DATE. K získání funkčnosti funkce DECODE v PL / SQL musí být navíc v T-SQL použit příkaz CASE. Také místo příkazu SELECT INTO v T-SQL musí být příkaz INSERT INTO použit v PL / SQL. V PL / SQL existuje operátor MINUS, který lze použít s příkazy SELECT. V T-SQL mohou být stejné výsledky získány pomocí klauzule NOT EXISTS s příkazy SELECT.