Rumah > pangkalan data > tutorial mysql > Bolehkah Satu Oracle Stored Procedure memanggil yang lain?

Bolehkah Satu Oracle Stored Procedure memanggil yang lain?

Linda Hamilton
Lepaskan: 2024-12-25 04:15:09
asal
959 orang telah melayarinya

Can One Oracle Stored Procedure Call Another?

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;
Salin selepas log masuk

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:

  1. CALL: Memerlukan kurungan, walaupun untuk prosedur tanpa argumen.
CALL test_sp_1();
Salin selepas log masuk
  1. Blok PL/SQL Tanpa Nama: Membenarkan pelaksanaan sebaris kod.
BEGIN
    test_sp_1;
END;
/
Salin selepas log masuk
  1. EXEC: Perintah SQL*Plus yang merupakan pintasan untuk blok tanpa nama.
EXEC test_sp_1
Salin selepas log masuk

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.
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan