我正尝试在SQL*PLUS
中的ORACLE
中执行以下操作。
我得到了
未声明的变量
错误。我正在尝试创建一个在会话中持续存在的变量,直到我关闭SQL*PLUS
窗口。
variable subhandle number;
exec MYMETHOD - (CHANGE_SET => 'SYNC_SET', - DESCRIPTION => 'Change data for emp',
- SUBSCRIPTION_HANDLE => :subhandle);
print subhandle;
答案 0 :(得分:3)
应该没问题 - 请仔细检查你对此做了什么:
SQL> create procedure myproc (p1 out number)
2 is
3 begin
4 p1 := 42;
5 end;
6 /
Procedure created.
SQL> variable subhandle number
SQL> exec myproc(:subhandle)
PL/SQL procedure successfully completed.
SQL> print subhandle
SUBHANDLE
----------
42
答案 1 :(得分:0)
请你重新发帖,但是用代码标签格式化代码....(即101 010按钮)我认为一些额外的“ - ”字符通过,这意味着它更难以解释。
如果你可以复制SQL Plus窗口的内容,那么看看SQL Plus报告错误也可能有帮助吗?
但它看起来是正确的。
答案 2 :(得分:0)
我不确定这是否是您要找的,但您是否尝试过&&variable
语法?你可以做到
select &&subhandle from dual
或者在脚本开头的某些内容,然后subhandle
应该绑定到会话剩余部分的值。