我使用stored procedure
在Oracle
中创建了Toad Data Point
:
create or replace PROCEDURE show_users
(
CUR OUT SYS_REFCURSOR
)
AS
BEGIN
OPEN CUR FOR
select * From dba_users;
END show_users;
我用以下代码执行它,但可以理解的是,我得到了Bind Variables
弹出窗口:
declare
mycursor SYS_REFCURSOR;
begin
show_users( :mycursor );
end;
我得到这个弹出窗口:
以下Executed Successfully
和弹出窗口没有显示,但是什么也没有显示,因为我没有告诉它来向我显示参考光标的内容:
declare
mycursor SYS_REFCURSOR;
begin
show_users( mycursor );
--print mycursor;
end;
我的问题:如何消除Toad中的Bind Variables
弹出窗口或显示SYS_REFCURSOR
的内容? print mycursor;
在SQL DEVELOPER
中有效,但在Toad中无效。
我只想测试存储过程而无需其他输入。
答案 0 :(得分:0)
删除名称前面的冒号。它是一个局部声明的变量,无需将其用作参数。
答案 1 :(得分:0)
尝试Set Define Off;
我不确定这是否对您有用,但是在SQL Developer中工作时它是否对我有用,我需要编译具有绑定变量(如触发器)或包含绑定变量的sql的代码。
答案 2 :(得分:0)
Toad 数据点中的文档解释了这一点: 备注:
避免在同一 SQL 语句中使用相同的符号来表示绑定变量和语句分隔符。 在编辑器中,单击以启用/禁用 SQL 中的绑定变量。禁用时,Toad 不会扫描 SQL 以获取参数。默认情况下启用(按下)此按钮。
它就在数据库选择下拉列表旁边。 我在尝试使用 :new.id
创建触发器时遇到了同样的问题