PL-SQL vs T-SQL
A T-SQL (Transact SQL) az SQL kiterjesztése, amelyet a Microsoft fejlesztett ki. A T-SQL-t a Microsoft SQL Server használják. A PL/SQL (Procedural Language/Structured Query Language) szintén az Oracle által kifejlesztett SQL eljárási kiterjesztése. A PL/SQL az Oracle adatbázisba ágyazott fő programozási nyelv.
PL/SQL
A PL/SQL az Oracle által kifejlesztett SQL eljárási kiterjesztés. A PL/SQL programok blokkokból épülnek fel, ami a PL/SQL alapegysége. A PL/SQL támogatja a változókat, ciklusokat (WHILE ciklusok, FOR ciklusok és Cursor FOR ciklusok), feltételes utasításokat, kivételeket és tömböket. Egy PL/SQL program SQL utasításokat tartalmaz. Ezek az SQL utasítások közé tartozik a SELECT, INSERT, UPDATE, DELETE stb. Az olyan SQL utasítások, mint a CREATE, DROP vagy ALTER, nem engedélyezettek a PL/SQL programokban. A PL/SQL függvények PL/SQL és SQL utasításokat tartalmazhatnak, és értéket adnak vissza. A PL/SQL eljárások viszont nem tartalmazhatnak SQL utasításokat, és nem adnak vissza értéket. A PL/SQL néhány objektumorientált programozási koncepciót is támogat, mint például a tokozás, a funkció túlterhelés és az információ elrejtése. De nem támogatja az öröklést. A PL/SQL-ben a csomagok függvények, eljárások, változók stb. csoportosítására használhatók. A csomagok lehetővé teszik a kód újrafelhasználását. A PL/SQL kód használata az Oracle szerveren jobb teljesítményt eredményez, mivel az Oracle szerver előre lefordítja a PL/SQL kódot, mielőtt ténylegesen végrehajtaná.
T-SQL
A T-SQL az SQL kiterjesztése, amelyet a Microsoft fejlesztett ki. A T-SQL kiterjeszti az SQL-t azáltal, hogy számos szolgáltatást, például eljárási programozást, helyi változókat és támogató függvényeket ad hozzá a karakterlánc-/adatfeldolgozáshoz. Ezek a funkciók teszik teljessé a T-SQL Turingot. Minden olyan alkalmazásnak, amelynek kommunikálnia kell a Microsoft SQL szerverrel, T-SQL utasítást kell küldenie a Microsoft SQL Servernek. A T-SQL a következő kulcsszavak használatával biztosítja a folyamatvezérlési lehetőségeket: BEGIN és END, BREAK, CONTINUE, GOTO, IF and ELSE, RETURN, WAITFOR és WHILE. Ezenkívül a T-SQL lehetővé teszi egy FROM záradék hozzáadását a DELETE és UPDATE utasításokhoz. Ez a FROM záradék lehetővé teszi csatlakozások beszúrását a DELETE és UPDATE utasításokba. A T-SQL lehetővé teszi többszörös sorok beszúrását egy táblázatba a BULK INSERT utasítás használatával. Ez több sort szúrna be egy táblázatba egy adatokat tartalmazó külső fájl beolvasásával. A BULK INSERT használata javítja a teljesítményt, mintha külön INSERT utasításokat használna minden egyes beszúrandó sorhoz.
Mi a különbség a PL/SQL és a T-SQL között?
A PL/SQL az Oracle által biztosított SQL eljárási kiterjesztése, és az Oracle adatbázis-kiszolgálóval együtt használatos, míg a T-SQL az SQL Microsoft által kifejlesztett kiterjesztése, és főként a Microsoft SQL Serverrel használják. Van néhány különbség a PL/SQL és a T-SQL adattípusai között. Például a T-SQL-nek két adattípusa van: DATETIME és SMALL-DATETIME, míg a PL/SQL-nek egyetlen adattípusa, DATE. Továbbá a DECODE függvény funkcionalitásának eléréséhez PL/SQL-ben a CASE utasítást kell használni a T-SQL-ben. Ezenkívül a T-SQL-ben a SELECT INTO utasítás helyett az INSERT INTO utasítást kell használni a PL/SQL-ben. A PL/SQL-ben van egy MINUS operátor, amely SELECT utasításokkal használható. A T-SQL-ben ugyanezek az eredmények érhetők el a NOT EXISTS záradék használatával a SELECT utasításokkal.