PL-SQL vs T-SQL
T-SQL (Transact SQL) είναι μια επέκταση της SQL που αναπτύχθηκε από τη Microsoft. Το T-SQL χρησιμοποιείται στον Microsoft SQL Server. Η PL/SQL (Procedural Language/Structured Query Language) είναι επίσης μια διαδικαστική επέκταση για την SQL που αναπτύχθηκε από την Oracle. Η PL/SQL είναι μια κύρια γλώσσα προγραμματισμού που είναι ενσωματωμένη στη βάση δεδομένων Oracle.
PL/SQL
Το PL/SQL είναι μια διαδικαστική επέκταση για την SQL που αναπτύχθηκε από την Oracle. Τα προγράμματα PL/SQL αποτελούνται από μπλοκ, που είναι η βασική μονάδα του PL/SQL. Η PL/SQL παρέχει υποστήριξη για μεταβλητές, βρόχους (βρόχους WHILE, βρόχους FOR και βρόχους δρομέα FOR), δηλώσεις υπό όρους, εξαιρέσεις και πίνακες. Ένα πρόγραμμα PL/SQL περιέχει δηλώσεις SQL. Αυτές οι δηλώσεις SQL περιλαμβάνουν SELECT, INSERT, UPDATE, DELETE, κ.λπ. Δηλώσεις SQL όπως CREATE, DROP ή ALTER δεν επιτρέπονται σε προγράμματα PL/SQL. Οι συναρτήσεις PL/SQL μπορούν να περιέχουν δηλώσεις PL/SQL και δηλώσεις SQL και επιστρέφουν μια τιμή. Οι διαδικασίες PL/SQL από την άλλη πλευρά δεν μπορούν να περιέχουν δηλώσεις SQL και δεν επιστρέφουν τιμή. Το PL/SQL υποστηρίζει επίσης ορισμένες αντικειμενοστρεφείς έννοιες προγραμματισμού, όπως η ενθυλάκωση, η υπερφόρτωση λειτουργιών και η απόκρυψη πληροφοριών. Αλλά δεν υποστηρίζει κληρονομικότητα. Στην PL/SQL, τα πακέτα μπορούν να χρησιμοποιηθούν για την ομαδοποίηση συναρτήσεων, διαδικασιών, μεταβλητών κ.λπ. Τα πακέτα επιτρέπουν την επαναχρησιμοποίηση κώδικα. Η χρήση κώδικα PL/SQL στον διακομιστή Oracle θα οδηγούσε σε βελτιωμένη απόδοση, καθώς ο διακομιστής Oracle προ-μεταγλωττίζει τον κώδικα PL/SQL πριν τον εκτελέσει πραγματικά.
T-SQL
Το T-SQL είναι μια επέκταση της SQL που αναπτύχθηκε από τη Microsoft. Η T-SQL επεκτείνει την SQL προσθέτοντας πολλά χαρακτηριστικά, όπως διαδικαστικό προγραμματισμό, τοπικές μεταβλητές και συναρτήσεις υποστήριξης για επεξεργασία συμβολοσειρών/δεδομένων. Αυτά τα χαρακτηριστικά κάνουν το T-SQL Turing ολοκληρωμένο. Οποιαδήποτε εφαρμογή, η οποία χρειάζεται να επικοινωνήσει με τον διακομιστή Microsoft SQL, πρέπει να στείλει μια δήλωση T-SQL στον Microsoft SQL Server. Η T-SQL παρέχει δυνατότητες ελέγχου ροής χρησιμοποιώντας τις ακόλουθες λέξεις-κλειδιά: BEGIN and END, BREAK, CONTINUE, GOTO, IF and ELSE, RETURN, WAITFOR και WHILE. Επιπλέον, η T-SQL επιτρέπει την προσθήκη ενός όρου FROM στις δηλώσεις DELETE και UPDATE. Αυτή η ρήτρα FROM θα επέτρεπε την εισαγωγή συνδέσεων στις δηλώσεις DELETE και UPDATE. Η T-SQL επιτρέπει επίσης την εισαγωγή πολλαπλών σειρών σε έναν πίνακα χρησιμοποιώντας την πρόταση BULK INSERT. Αυτό θα εισαγάγει πολλές σειρές σε έναν πίνακα διαβάζοντας ένα εξωτερικό αρχείο που περιέχει δεδομένα. Η χρήση του BULK INSERT βελτιώνει την απόδοση από τη χρήση ξεχωριστών δηλώσεων INSERT για κάθε σειρά που πρέπει να εισαχθεί.
Ποια είναι η διαφορά μεταξύ PL/SQL και T-SQL;
Το PL/SQL είναι μια διαδικαστική επέκταση στο SQL που παρέχεται από την Oracle και χρησιμοποιείται με τον διακομιστή βάσης δεδομένων Oracle, ενώ το T-SQL είναι μια επέκταση του SQL που αναπτύχθηκε από τη Microsoft και χρησιμοποιείται κυρίως με τον Microsoft SQL Server. Υπάρχουν ορισμένες διαφορές μεταξύ των τύπων δεδομένων σε PL/SQL και T-SQL. Για παράδειγμα, το T-SQL έχει δύο τύπους δεδομένων που ονομάζονται DATETIME και SMALL-DATETIME, ενώ το PL/SQL έχει έναν μοναδικό τύπο δεδομένων που ονομάζεται DATE. Επιπλέον, για να αποκτήσετε τη λειτουργικότητα της συνάρτησης DECODE σε PL/SQL, η δήλωση CASE πρέπει να χρησιμοποιηθεί στο T-SQL. Επίσης, αντί για την πρόταση SELECT INTO στο T-SQL, η πρόταση INSERT INTO πρέπει να χρησιμοποιηθεί στο PL/SQL. Στο PL/SQL, υπάρχει ένας τελεστής MINUS, ο οποίος θα μπορούσε να χρησιμοποιηθεί με δηλώσεις SELECT. Στην T-SQL τα ίδια αποτελέσματα μπορούν να ληφθούν χρησιμοποιώντας τον όρο ΔΕΝ ΥΠΑΡΧΕΙ με τις προτάσεις SELECT.