Oracle PL/SQL:如何执行一个执行DML并具有返回值的SP?
我有一个具有以下标题的存储过程:Oracle PL/SQL:如何执行一个执行DML并具有返回值的SP?,oracle,syntax,plsql,Oracle,Syntax,Plsql,我有一个具有以下标题的存储过程: FUNCTION SaveShipment (p_user_id IN INTEGER, p_transaction_id IN INTEGER, p_vehicle_code IN VARCHAR2 DEFAULT NULL, p_seals IN VARCHAR2 DEFAULT NULL) RETURN INTEGER; 我在蟾蜍的编辑那里运行它时遇到了麻烦。我无法将其作为select from dual语句的一部分运行,因为它预执行DML,但如果我尝试
FUNCTION SaveShipment (p_user_id IN INTEGER, p_transaction_id IN INTEGER, p_vehicle_code IN VARCHAR2 DEFAULT NULL, p_seals IN VARCHAR2 DEFAULT NULL) RETURN INTEGER;
我在蟾蜍的编辑那里运行它时遇到了麻烦。我无法将其作为select from dual语句的一部分运行,因为它预执行DML,但如果我尝试在某个论坛上看到的建议的以下语法:
var c integer;
exec :c := orm_helper.orm_helper.SAVESHIPMENT (9999, 31896, NULL, '');
print c;
我得到:
ORA-01008: not all variables bound
Details:
BEGIN :c := orm_helper.orm_helper.saveshipment (9999, 31896, null, ''); END;
Error at line 2
ORA-01008: not all variables bound
手动运行此sp的正确语法是什么?是否从另一个sp调用存储过程 我认为语法是(如果我没记错的话):
希望这对您有所帮助。您可能可以从DUAL中选择orm_helper.orm_helper.saveshipping(99991896,NULL“”)
declare
c integer;
begin
c:=storedProc(...parameters...);