Dalam Oracle, prosedur tersimpan ialah blok kod yang menggabungkan berbilang pernyataan SQL dan merangkumnya dalam satu unit. Prosedur tersimpan boleh membantu kami melaksanakan operasi pemprosesan data yang kompleks dalam pangkalan data, dengan itu meningkatkan prestasi dan kecekapan pangkalan data. Dalam prosedur tersimpan, pernyataan if ialah pernyataan kawalan aliran biasa yang boleh melaksanakan pernyataan SQL yang berbeza berdasarkan pertimbangan bersyarat. Artikel ini akan memperkenalkan penggunaan pernyataan if dalam prosedur tersimpan Oracle.
Pernyataan if dalam prosedur tersimpan Oracle adalah serupa dengan pernyataan if dalam bahasa pengaturcaraan lain Ia boleh melaksanakan SQL yang berbeza berdasarkan pertimbangan bersyarat kenyataan. Sintaks asas pernyataan if adalah seperti berikut:
IF condition THEN statement1; ELSE statement2; END IF;
Antaranya, syarat ialah ungkapan bersyarat Jika nilainya BENAR, pernyataan1 dilaksanakan, sebaliknya pernyataan2 dilaksanakan. Perlu diingatkan bahawa pernyataan if mesti berakhir dengan END IF.
Berikut ialah contoh mudah:
CREATE OR REPLACE PROCEDURE check_salary (emp_id IN NUMBER) AS salary NUMBER; BEGIN SELECT salary INTO salary FROM employees WHERE employee_id = emp_id; IF salary > 5000 THEN DBMS_OUTPUT.PUT_LINE('This employee earn more than 5000.'); ELSE DBMS_OUTPUT.PUT_LINE('This employee earn less than or equal to 5000.'); END IF; END;
Prosedur tersimpan check_gaji menerima parameter emp_id, kemudian menanyakan gaji pekerja daripada jadual pekerja dan mengeluarkan nilai yang berbeza berdasarkan sama ada gaji lebih besar daripada 5000 maklumat. Jika gaji lebih besar daripada 5000, keluaran Pekerja ini memperoleh lebih daripada 5000, sebaliknya output Pekerja ini memperoleh kurang daripada atau sama dengan 5000..
Dalam prosedur tersimpan Oracle, jika pernyataan juga boleh disarangkan untuk membentuk struktur pernyataan if-elsif untuk mencapai pertimbangan berbilang syarat. Sintaks asas pernyataan if-elsif adalah seperti berikut:
IF condition1 THEN statement1; ELSIF condition2 THEN statement2; ELSIF condition3 THEN statement3; ELSE statement4; END IF;
Antaranya, syarat1, syarat2 dan syarat3 ialah tiga ungkapan bersyarat Jika nilainya BENAR pula, pernyataan1, pernyataan2 dan pernyataan3 akan menjadi dilaksanakan, jika tidak pernyataan4 akan dilaksanakan. Klausa elsif berbilang boleh ditambah mengikut keperluan.
Berikut ialah contoh:
CREATE OR REPLACE PROCEDURE check_grade (stu_id IN NUMBER) AS grade NUMBER; BEGIN SELECT score INTO grade FROM student WHERE student_id = stu_id; IF grade >= 90 THEN DBMS_OUTPUT.PUT_LINE('The student got A.'); ELSIF grade >= 80 THEN DBMS_OUTPUT.PUT_LINE('The student got B.'); ELSIF grade >= 70 THEN DBMS_OUTPUT.PUT_LINE('The student got C.'); ELSE DBMS_OUTPUT.PUT_LINE('The student failed.'); END IF; END;
Prosedur tersimpan check_grade ini menerima stu_id parameter, kemudian menanyakan skor pelajar daripada jadual pelajar, menentukan gred berdasarkan skor dan mengeluarkan yang sepadan maklumat .
Dalam prosedur tersimpan Oracle, jika pernyataan juga boleh disarangkan untuk mencapai pertimbangan bersyarat yang lebih kompleks. Berikut ialah contoh:
CREATE OR REPLACE PROCEDURE check_employee (emp_id IN NUMBER) AS salary NUMBER; BEGIN SELECT salary INTO salary FROM employees WHERE employee_id = emp_id; IF salary > 10000 THEN DBMS_OUTPUT.PUT_LINE('This employee is a senior manager.'); ELSE IF salary > 5000 THEN DBMS_OUTPUT.PUT_LINE('This employee is a manager.'); ELSE DBMS_OUTPUT.PUT_LINE('This employee is a staff.'); END IF; END IF; END;
Prosedur tersimpan check_employee menerima parameter emp_id, kemudian menanyakan gaji pekerja daripada jadual pekerja, menentukan pangkatnya berdasarkan gaji dan mengeluarkan maklumat yang sepadan. Jika gaji lebih daripada 10,000, ia adalah pengurus kanan jika gaji antara 5,000 dan 10,000, ia adalah seorang pengurus;
Dalam prosedur tersimpan Oracle, pernyataan if ialah pernyataan kawalan proses biasa, yang boleh melaksanakan pernyataan SQL yang berbeza berdasarkan pertimbangan bersyarat untuk mencapai operasi pemprosesan Data yang kompleks . Jika pernyataan juga boleh disarangkan untuk membentuk struktur pernyataan if-elsif atau struktur pernyataan if berbilang lapisan untuk mencapai pertimbangan bersyarat yang lebih fleksibel. Menguasai penggunaan pernyataan if akan membantu membangunkan prosedur tersimpan Oracle yang cekap dan stabil.
Atas ialah kandungan terperinci oracle stored procedure if statement. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!