Memanggil Prosedur Tersimpan Dalam Satu Lagi dalam Oracle
Masalah:
Adalah mungkin untuk panggil prosedur tersimpan dari dalam satu lagi dalam Oracle? Jika ya, bagaimanakah anda boleh mencapai ini?
Kod Contoh:
SET SERVEROUTPUT ON; DROP PROCEDURE test_sp_1; DROP PROCEDURE test_sp; CREATE PROCEDURE test_sp AS BEGIN DBMS_OUTPUT.PUT_LINE('Test works'); END; / CREATE PROCEDURE test_sp_1 AS BEGIN DBMS_OUTPUT.PUT_LINE('Testing'); test_sp; END; / CALL test_sp_1;
Penyelesaian:
Kod ujian dengan syarat berjaya mencipta dan memulakan prosedur yang disimpan. Walau bagaimanapun, isunya terletak pada baris terakhir, yang cuba menggunakan prosedur tetapi gagal.
Terdapat tiga cara untuk menggunakan prosedur tersimpan dalam SQL*Plus:
CALL test_sp_1();
BEGIN test_sp_1; END; /
EXEC test_sp_1
Contoh:
SQL> CALL test_sp_1(); Testing Test works Call completed. SQL> EXEC test_sp_1 Testing Test works PL/SQL procedure successfully completed. SQL> BEGIN 2 test_sp_1; 3 END; 4 / Testing Test works PL/SQL procedure successfully completed.
Atas ialah kandungan terperinci Bolehkah Satu Oracle Stored Procedure memanggil yang lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!