PL-SQL a T-SQL
T-SQL (Transact SQL) to rozszerzenie języka SQL opracowane przez firmę Microsoft. T-SQL jest używany w Microsoft SQL Server. PL/SQL (Procedural Language/Structured Query Language) to także rozszerzenie proceduralne języka SQL opracowane przez firmę Oracle. PL/SQL to główny język programowania osadzony w bazie danych Oracle.
PL/SQL
PL/SQL to proceduralne rozszerzenie języka SQL opracowane przez firmę Oracle. Programy PL/SQL są zbudowane z bloków, co jest podstawową jednostką PL/SQL. PL/SQL obsługuje zmienne, pętle (pętle WHILE, pętle FOR i pętle kursora FOR), instrukcje warunkowe, wyjątki i tablice. Program PL/SQL zawiera instrukcje SQL. Te instrukcje SQL obejmują SELECT, INSERT, UPDATE, DELETE itp. Instrukcje SQL, takie jak CREATE, DROP lub ALTER, nie są dozwolone w programach PL/SQL. Funkcje PL/SQL mogą zawierać instrukcje PL/SQL i SQL i zwracają wartość. Z drugiej strony procedury PL/SQL nie mogą zawierać instrukcji SQL i nie zwracają wartości. PL/SQL obsługuje również niektóre koncepcje programowania obiektowego, takie jak enkapsulacja, przeciążanie funkcji i ukrywanie informacji. Ale nie obsługuje dziedziczenia. W PL/SQL pakiety mogą służyć do grupowania funkcji, procedur, zmiennych itp. Pakiety umożliwiają ponowne wykorzystanie kodu. Używanie kodu PL/SQL na serwerze Oracle prowadziłoby do poprawy wydajności, ponieważ serwer Oracle wstępnie kompiluje kod PL/SQL przed jego faktycznym wykonaniem.
T-SQL
T-SQL to rozszerzenie języka SQL opracowane przez firmę Microsoft. T-SQL rozszerza SQL o kilka funkcji, takich jak programowanie proceduralne, zmienne lokalne i funkcje wspierające przetwarzanie łańcuchów/danych. Te cechy sprawiają, że Turing T-SQL jest kompletny. Każda aplikacja, która musi komunikować się z serwerem Microsoft SQL, musi wysłać instrukcję T-SQL do serwera Microsoft SQL. T-SQL zapewnia możliwości kontroli przepływu przy użyciu następujących słów kluczowych: BEGIN i END, BREAK, CONTINUE, GOTO, IF i ELSE, RETURN, WAITFOR i WHILE. Ponadto T-SQL umożliwia dodanie klauzuli FROM do instrukcji DELETE i UPDATE. Ta klauzula FROM umożliwiłaby wstawianie sprzężeń w instrukcjach DELETE i UPDATE. T-SQL umożliwia również wstawianie wielu wierszy do tabeli za pomocą instrukcji BULK INSERT. Spowoduje to wstawienie wielu wierszy do tabeli poprzez odczytanie zewnętrznego pliku zawierającego dane. Używanie BULK INSERT poprawia wydajność niż używanie oddzielnych instrukcji INSERT dla każdego wiersza, który należy wstawić.
Jaka jest różnica między PL/SQL a T-SQL?
PL/SQL to proceduralne rozszerzenie SQL dostarczane przez Oracle i jest używane z serwerem bazy danych Oracle, podczas gdy T-SQL jest rozszerzeniem SQL opracowanym przez Microsoft i jest używany głównie z Microsoft SQL Server. Istnieją pewne różnice między typami danych w PL/SQL i T-SQL. Na przykład T-SQL ma dwa typy danych o nazwie DATETIME i SMALL-DATETIME, podczas gdy PL/SQL ma jeden typ danych o nazwie DATE. Ponadto, aby uzyskać funkcjonalność funkcji DECODE w PL/SQL, w T-SQL należy użyć instrukcji CASE. Ponadto zamiast instrukcji SELECT INTO w T-SQL, w PL/SQL należy użyć instrukcji INSERT INTO. W PL/SQL istnieje operator MINUS, którego można używać z instrukcjami SELECT. W języku T-SQL te same wyniki można uzyskać, używając klauzuli NOT EXISTS z instrukcjami SELECT.