PL-SQL vs T-SQL
T-SQL (Transact SQL) adalah perpanjangan dari SQL yang dikembangkan oleh Microsoft. T-SQL digunakan di Microsoft SQL Server. PL/SQL (Bahasa Prosedural/Bahasa Kueri Terstruktur) juga merupakan ekstensi prosedural untuk SQL yang dikembangkan oleh Oracle. PL/SQL adalah bahasa pemrograman utama yang tertanam dalam database Oracle.
PL/SQL
PL/SQL adalah ekstensi prosedural untuk SQL yang dikembangkan oleh Oracle. Program PL/SQL dibangun dari blok, yang merupakan unit dasar PL/SQL. PL/SQL menyediakan dukungan untuk variabel, loop (WHILE loop, FOR loop, dan Cursor FOR loop), pernyataan kondisional, pengecualian dan array. Program PL/SQL berisi pernyataan SQL. Pernyataan SQL ini termasuk SELECT, INSERT, UPDATE, DELETE, dll. Pernyataan SQL seperti CREATE, DROP, atau ALTER tidak diperbolehkan dalam program PL/SQL. Fungsi PL/SQL dapat berisi pernyataan PL/SQL dan pernyataan SQL dan mengembalikan nilai. Prosedur PL/SQL di sisi lain tidak dapat berisi pernyataan SQL dan tidak mengembalikan nilai. PL/SQL juga mendukung beberapa konsep pemrograman berorientasi objek seperti enkapsulasi, fungsi yang berlebihan, dan penyembunyian informasi. Tapi itu tidak mendukung warisan. Dalam PL/SQL, paket dapat digunakan untuk mengelompokkan fungsi, prosedur, variabel, dll. Paket memungkinkan penggunaan kembali kode. Menggunakan kode PL/SQL di server Oracle akan meningkatkan kinerja, karena server Oracle mengkompilasi kode PL/SQL sebelum benar-benar mengeksekusinya.
T-SQL
T-SQL adalah perpanjangan dari SQL yang dikembangkan oleh Microsoft. T-SQL memperluas SQL dengan menambahkan beberapa fitur seperti pemrograman prosedural, variabel lokal dan fungsi pendukung untuk pemrosesan string/data. Fitur-fitur ini membuat T-SQL Turing lengkap. Aplikasi apa pun, yang perlu berkomunikasi dengan server Microsoft SQL, perlu mengirim pernyataan T-SQL ke Microsoft SQL Server. T-SQL menyediakan kemampuan kontrol aliran menggunakan kata kunci berikut: BEGIN dan END, BREAK, CONTINUE, GOTO, IF and ELSE, RETURN, WAITFOR, dan WHILE. Selanjutnya, T-SQL memungkinkan klausa FROM untuk ditambahkan ke pernyataan DELETE dan UPDATE. Klausa FROM ini akan memungkinkan penyisipan gabungan ke pernyataan DELETE dan UPDATE. T-SQL juga memungkinkan penyisipan beberapa baris ke dalam tabel menggunakan pernyataan BULK INSERT. Ini akan menyisipkan beberapa baris ke dalam tabel dengan membaca file eksternal yang berisi data. Menggunakan BULK INSERT meningkatkan kinerja daripada menggunakan pernyataan INSERT terpisah untuk setiap baris yang perlu disisipkan.
Apa perbedaan antara PL/SQL dan T-SQL?
PL/SQL adalah ekstensi prosedural untuk SQL yang disediakan oleh Oracle dan digunakan dengan server database Oracle, sedangkan T-SQL adalah ekstensi SQL yang dikembangkan oleh Microsoft dan terutama digunakan dengan Microsoft SQL Server. Ada beberapa perbedaan antara tipe data dalam PL/SQL dan T-SQL. Misalnya T-SQL memiliki dua tipe data yang disebut DATETIME dan SMALL-DATETIME, sedangkan PL/SQL memiliki satu tipe data yang disebut DATE. Selanjutnya, untuk mendapatkan fungsionalitas fungsi DECODE dalam PL/SQL, pernyataan CASE harus digunakan dalam T-SQL. Selain itu, sebagai ganti pernyataan SELECT INTO di T-SQL, pernyataan INSERT INTO harus digunakan di PL/SQL. Di PL/SQL, ada operator MINUS, yang dapat digunakan dengan pernyataan SELECT. Dalam T-SQL hasil yang sama dapat diperoleh dengan menggunakan klausa NOT EXISTS dengan pernyataan SELECT.