Oracle ialah sistem pengurusan pangkalan data hubungan terkenal yang sering digunakan dalam pembangunan dan penyelenggaraan sistem peringkat perusahaan yang besar. Dalam Oracle, prosedur tersimpan dan pencetus adalah dua objek pangkalan data yang sangat penting Artikel ini akan memperkenalkan fungsi mereka dan cara menggunakannya.
1. Prosedur tersimpan
1. Fungsi
Prosedur tersimpan ialah satu set pernyataan SQL yang disusun dan disimpan dalam pangkalan data. Ia boleh dipanggil seperti fungsi, menerima parameter input dan mengembalikan hasil. Prosedur tersimpan boleh menyelesaikan pelbagai operasi yang kompleks, seperti pertanyaan data, pengubahsuaian data, sandaran data, dsb. Mereka sangat memudahkan kerja pengaturcaraan pangkalan data.
2. Cipta
Dalam Oracle, membuat prosedur tersimpan memerlukan penggunaan bahasa PL/SQL, yang boleh dibuat dan diedit menggunakan alatan seperti SQL Developer atau SQL*Plus. Berikut ialah contoh mudah untuk mencipta prosedur tersimpan:
CREATE OR REPLACE PROCEDURE p_add (x IN NUMBER, y IN NUMBER, z OUT NUMBER) IS BEGIN z := x + y; END p_add;
Dalam contoh di atas, kami mentakrifkan prosedur tersimpan bernama p_add, yang mempunyai dua parameter input x dan y, dan satu parameter output z. Dalam badan prosedur tersimpan, kami menambah parameter input x dan y dan memberikan hasilnya kepada parameter output z.
3. Panggil
Selepas mencipta prosedur tersimpan, kita boleh melaksanakan pernyataan SQL di dalamnya dengan memanggilnya. Terdapat dua cara untuk memanggil prosedur tersimpan dalam PL/SQL:
EXECUTE p_add(1,2,:OUT);
Dalam contoh di atas, kami memanggil prosedur tersimpan daripada p_add pas dalam parameter 1 dan 2, dan menggunakan parameter OUT untuk mengeluarkan hasilnya.
DECLARE a NUMBER; BEGIN p_add(1,2,a); DBMS_OUTPUT.PUT_LINE('The result is: ' || a); END;
Dalam contoh di atas, kami menggunakan blok PL/SQL untuk memanggil prosedur tersimpan dan mengeluarkan hasilnya.
2. Pencetus
1 Fungsi
Pencetus ialah objek khas yang dikaitkan dengan jadual yang boleh melaksanakan operasi INSERT, UPDATE dan DELETE pada jadual beberapa tindakan. Pencetus boleh digunakan untuk operasi seperti pengesahan data, replikasi data dan sandaran data.
2. Cipta
Dalam Oracle, mencipta pencetus memerlukan penggunaan bahasa PL/SQL Anda juga boleh menggunakan alatan seperti SQL Developer atau SQL*Plus untuk mencipta dan mengedit. Berikut ialah contoh mudah untuk mencipta pencetus:
CREATE OR REPLACE TRIGGER trg_ins_emp BEFORE INSERT ON emp FOR EACH ROW BEGIN :NEW.create_time := SYSDATE; END trg_ins_emp;
Dalam contoh di atas, kami mentakrifkan pencetus bernama trg_ins_emp, yang akan menjadi Masa semasa ditetapkan kepada medan create_time.
Dalam contoh di atas, kata kunci BEFORE menunjukkan bahawa pencetus akan dicetuskan sebelum data dimasukkan, dan FOR EACH ROW menunjukkan bahawa ia akan dicetuskan setiap kali penyataan INSERT dilaksanakan.
3. Selepas memanggil
untuk mencipta pencetus, kami tidak perlu memanggilnya secara manual Kami hanya perlu melakukan operasi INSERT, UPDATE dan DELETE pada jadual yang berkaitan untuk mencetuskan pencetus. . Berikut ialah contoh mudah untuk melakukan operasi INSERT:
INSERT INTO emp (name, salary) VALUES ('Jack', 5000);
Dalam contoh di atas, kami memasukkan rekod ke dalam jadual emp Memandangkan kami mencipta pencetus bernama trg_ins_emp, rekod itu dimasukkan selepas , the medan create_time secara automatik akan diberikan masa semasa.
3. Ringkasan
Prosedur dan pencetus tersimpan ialah dua objek yang sangat penting dalam Oracle. Ia sangat memudahkan kerja pengaturcaraan pangkalan data. Prosedur tersimpan boleh merangkumi operasi SQL yang kompleks, meningkatkan kebolehselenggaraan dan kebolehgunaan semula kod. Pencetus boleh melakukan beberapa operasi secara automatik semasa operasi jadual untuk mengelakkan kerja berulang. Saya harap artikel ini dapat membantu pembaca memahami dengan lebih lanjut prosedur tersimpan dan pencetus pangkalan data Oracle.
Atas ialah kandungan terperinci Penjelasan terperinci mengenai prosedur tersimpan dan pencetus Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!