Disyorkan, 2020

Pilihan Editor

Perbezaan Antara Pencetus dan Prosedur

Pencetus dan Prosedur adalah Komponen SQL Advanced. Pencetus dan Prosedur kedua-duanya melaksanakan tugas tertentu dalam pelaksanaan mereka. Perbezaan asas antara Trigger dan Prosedur adalah bahawa Trigger dijalankan secara automatik pada kejadian suatu peristiwa sedangkan, Prosedur dilaksanakan apabila ia diterapkan secara eksplisit.

Marilah kita membincangkan beberapa perbezaan antara Trigger dan Prosedur dengan bantuan carta perbandingan yang ditunjukkan di bawah.

Carta Perbandingan

Asas untuk PerbandinganPencetusProsedur
AsasMereka secara automatik dilaksanakan semasa kejadian tertentu.Mereka boleh dilaksanakan bila perlu.
MemanggilPencetus tidak boleh dipanggil di dalam prosedur.Tetapi, anda boleh memanggil prosedur di dalam pemicu.
ParameterKami tidak boleh lulus parameter untuk mencetuskan.Kita boleh lulus parameter kepada prosedur.
KembaliTrigger tidak pernah mengembalikan nilai semasa pelaksanaan.Prosedur boleh mengembalikan nilai / s semasa pelaksanaan.

Definisi Pencetus

Pencetus adalah seperti prosedur yang akan dilaksanakan secara automatik pada kejadian tertentu. Seperti prosedur, pencetus tidak perlu dipanggil secara jelas. Pencetus dicipta, untuk melaksanakan beberapa tugas sebagai tindak balas terhadap kejadian beberapa peristiwa tertentu.

Pencetus boleh digunakan sebagai tindak balas kepada kenyataan DDL (DELETE, INSERT, atau UPDATE), atau pernyataan DML (DELETE, INSERT, atau UPDATE) atau, kepada beberapa operasi pangkalan data (SERVERERROR, LOGO, LOGOFF, STARTUP, atau SHUTDOWN).

Pencetus terdiri daripada tiga komponen seperti yang dibincangkan di bawah:

  • Acara : Peristiwa adalah kejadian beberapa kejadian yang akan menyebabkan pelaksanaan pemicu. Pencetus boleh diperintahkan untuk melaksanakan sama ada SEBELUM peristiwa berlaku atau ia boleh dipesan untuk dilaksanakan SELEPAS pelaksanaan acara.
  • Keadaan : Ia adalah bahagian pilihan pemicu. Jika tidak disebutkan pencetus akan dilaksanakan apabila peristiwa yang dinyatakan berlaku. Sekiranya syarat tersebut ditetapkan, maka ia akan memeriksa peraturan untuk menentukan sama ada pencetus perlu dilaksanakan.
  • Tindakan : Tindakan adalah satu set pernyataan SQL yang akan dilaksanakan pada pelaksanaan Trigger.

Bentuk umum penciptaan sesuatu peristiwa dibincangkan di bawah:

 CREATE TRIGGER SEBELUM / SELEPAS TINDAKAN KONDISI; 

Di sini, Keadaan adalah pilihan.

Definisi Prosedur

Prosedur ini boleh diambil sebagai unit program, yang dibuat untuk melaksanakan beberapa tugas dan disimpan di pangkalan data. Mereka dipanggil oleh pernyataan SQL apabila diperlukan. Prosedur seperti fungsi didefinisikan pengguna yang ditentukan oleh pemaju. Prosedur boleh dipanggil menggunakan CALL atau EXECUTE .

Prosedur ini berguna dalam situasi berikut:

  • Sekiranya prosedur itu diperlukan oleh beberapa aplikasi lain, maka ia boleh disimpan di pelayan supaya ia boleh digunakan oleh mana-mana aplikasi. Ia akan mengurangkan usaha duplikasi prosedur dari satu pangkalan data kepada yang lain dan juga meningkatkan modularity perisian.
  • Oleh kerana prosedur dijalankan pada pelayan, ia akan mengurangkan pemindahan data dan juga mengurangkan kos komunikasi.
  • Prosedur ini boleh digunakan untuk memeriksa kekangan kompleks yang berada di luar kuasa pemicu.

Marilah kita membincangkan bentuk umum mewujudkan prosedur:

 CREATE PROSEDURE () RETURNS; 

Di sini, parameter dan pengisytiharan tempatan adalah pilihan. Mereka disebut hanya apabila mereka dikehendaki. Pernyataan di bawah menggambarkan panggilan prosedur.

 CALL (); 

Perbezaan Utama Antara Pencetus dan Prosedur

  1. Perbezaan utama antara pencetus dan prosedur adalah bahawa pencetus adalah pernyataan yang akan digunakan secara automatik apabila peristiwa telah berlaku. Sebaliknya, prosedur itu digunakan apabila diperlukan.
  2. Kita boleh menentukan prosedur di dalam pencetus. Tetapi, pencetus tidak pernah ditakrifkan di dalam suatu prosedur kerana pemicu perlu dilakukan secara automatik pada kejadian apa-apa kejadian.
  3. Kita boleh lulus parameter kepada prosedur, tetapi kita tidak boleh lulus parameter untuk mencetuskan kerana ia tidak dipanggil oleh kita.
  4. Prosedur boleh mengembalikan nilai atau kod parameter tetapi, pemicu tidak boleh.

Kesimpulan:

Pencetus adalah berguna, tetapi mereka dielakkan jika ada alternatif kepada mereka, kerana ia meningkatkan kerumitan data. Kadang-kadang pencetus juga diganti dengan prosedur yang sesuai.

Top