PL-SQL vs T-SQL
T-SQL (Transact SQL) è un'estensione di SQL sviluppato da Microsoft. T-SQL è utilizzato in Microsoft SQL Server. PL / SQL (linguaggio procedurale / linguaggio di interrogazione strutturato) è anche un'estensione procedurale per SQL sviluppata da Oracle. PL / SQL è un linguaggio di programmazione principale incorporato nel database Oracle.
PL / SQL
PL / SQL è un'estensione procedurale per SQL sviluppata da Oracle. I programmi PL / SQL sono costituiti da blocchi, che è l'unità base di PL / SQL. PL / SQL fornisce supporto per variabili, cicli (cicli WHILE, cicli FOR e cicli Cursor FOR), istruzioni condizionali, eccezioni e matrici. Un programma PL / SQL contiene istruzioni SQL. Queste istruzioni SQL includono SELECT, INSERT, UPDATE, DELETE, ecc. Le istruzioni SQL come CREATE, DROP o ALTER non sono consentite nei programmi PL / SQL. Le funzioni PL / SQL possono contenere istruzioni PL / SQL e istruzioni SQL e restituiscono un valore. Le procedure PL / SQL, d'altra parte, non possono contenere istruzioni SQL e non restituiscono un valore. PL / SQL supporta anche alcuni concetti di programmazione orientati agli oggetti come l'incapsulamento, l'overloading delle funzioni e l'occultamento delle informazioni. Ma non supporta l'ereditarietà. In PL / SQL, i pacchetti possono essere utilizzati per raggruppare funzioni, procedure, variabili, ecc. I pacchetti consentono il riutilizzo del codice. L'utilizzo del codice PL / SQL sul server Oracle porterebbe a prestazioni migliorate, dal momento che il server Oracle precompila il codice PL / SQL prima di eseguirlo effettivamente.
T-SQL
T-SQL è un'estensione di SQL sviluppato da Microsoft. T-SQL estende SQL aggiungendo diverse funzionalità come la programmazione procedurale, le variabili locali e le funzioni di supporto per l'elaborazione di stringhe / dati. Queste funzionalità rendono T-SQL Turing completo. Qualsiasi applicazione, che deve comunicare con il server Microsoft SQL, deve inviare un'istruzione T-SQL a Microsoft SQL Server. T-SQL fornisce funzionalità di controllo del flusso utilizzando le seguenti parole chiave: BEGIN e END, BREAK, CONTINUE, GOTO, IF e ELSE, RETURN, WAITFOR e WHILE. Inoltre, T-SQL consente di aggiungere una clausola FROM alle istruzioni DELETE e UPDATE. Questa clausola FROM consentirebbe l'inserimento di join nelle istruzioni DELETE e UPDATE. T-SQL consente inoltre di inserire più righe in una tabella utilizzando l'istruzione BULK INSERT. Ciò inserirà più righe in una tabella leggendo un file esterno contenente dati. L'utilizzo di BULK INSERT migliora le prestazioni rispetto all'utilizzo di istruzioni INSERT separate per ciascuna riga che deve essere inserita.
Qual è la differenza tra PL / SQL e T-SQL?
PL / SQL è un'estensione procedurale dell'SQL fornito da Oracle e viene utilizzato con il server di database Oracle, mentre T-SQL è un'estensione di SQL sviluppata da Microsoft ed è principalmente utilizzato con Microsoft SQL Server. Ci sono alcune differenze tra i tipi di dati in PL / SQL e T-SQL. Ad esempio T-SQL ha due tipi di dati chiamati DATETIME e SMALL-DATETIME, mentre PL / SQL ha un singolo tipo di dati chiamato DATE. Inoltre, per ottenere la funzionalità della funzione DECODE in PL / SQL, l'istruzione CASE deve essere utilizzata in T-SQL. Inoltre, invece dell'istruzione SELECT INTO in T-SQL, l'istruzione INSERT INTO deve essere utilizzata in PL / SQL. In PL / SQL, esiste un operatore MINUS, che può essere utilizzato con istruzioni SELECT. In T-SQL è possibile ottenere gli stessi risultati utilizzando la clausola NOT EXISTS con le istruzioni SELECT.