有谁知道存在一种方式,或者甚至有可能从另一个方法调用存储过程?如果是这样,你会怎么做?在Oracle中与另一个存储过程调用存储过程
这里是我的测试代码:
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;
感谢您的CALL sp_1; 我收到以下错误。 错误的命令开始行21: CALL test_sp_1 错误报告: SQL错误:ORA-06576:不是有效的函数或过程名 06576. 00000 - “不是有效的函数或过程名” *原因:可能找不到函数(如果存在INTO子句)或 过程(如果语句没有INTO子句)调用 。 *操作:更改语句以调用函数或过程 – electricsheep 2010-08-05 13:55:38
@Michael Lockwood - 您可以在原始问题中发布代码吗?另外,如果您使用SQL * PLus等工具调用函数,则需要将返回值分配给变量。 – dcp 2010-08-05 13:57:51
@ML:当CALL不起作用时(为不是有效的PL/SQL语句),为什么还要尝试使用CALL并且dcp向您展示了如何正确执行它? – 2010-08-05 14:04:07