Ini pertanyaan yang menarik, pastinya. Kebanyakan orang yang terbiasa dengan pengembangan Oracle tidak akan memikirkannya tetapi ketika Anda sampai pada itu, kadang-kadang membingungkan untuk mendefinisikan demarkasi antara SQL dan PL / SQL.
Dengan melihat definisi akronim, Anda mulai mendapatkan gagasan tentang bidang fungsi apa yang masing-masing mencakup:
SQL - Bahasa Query Terstruktur
PL / SQL - Bahasa Prosedural / Bahasa Query Terstruktur
Pembaca yang jeli mungkin memperhatikan bagaimana SQL muncul dua kali 8) Itu karena SQL sering tertanam dalam PL / SQL - PL / SQL adalah bahasa yang dibuat untuk menyediakan bahasa generasi ke-4 yang dipatenkan (4GL) yang sangat baik dimainkan dengan objek basis data di Peramal.
Wikipedia memiliki beberapa materi yang cukup bagus tentang SQL dan PL / SQL
Bagian yang membingungkan adalah di mana PL / SQL dan SQL tumpang tindih sedikit. Ruang lingkup SQL mencakup penyisipan data, kueri, pembaruan, dan penghapusan, yang disebut DML, atau operasi bahasa manipulasi data, tetapi juga mencakup pembuatan, ubah, ganti nama, jatuhkan yang merupakan operasi bahasa definisi data DDL atau definisi data. Di sini di mana beberapa mungkin bingung. Operasi untuk membuat prosedur tersimpan, sesuatu yang ditulis menggunakan PL / SQL, sebenarnya SQL - Anda menggunakan SQL untuk membuat objek database yang mewakili blok PL / SQL.
Demikian juga, Anda dapat menanamkan kode SQL di dalam PL / SQL Anda. Sebagai contoh, loop FOR di PL / SQL dapat didasarkan pada query SQL. Hancurkan pikiranmu sedikit, eh? Anda membuat prosedur menggunakan SQL yang sebenarnya secara internal menggunakan SQL untuk melakukan beberapa tindakan pada catatan dari database.
Hal-hal keren jika Anda bertanya kepada saya.