过程未在蟾蜍中运行,要求变量

时间:2019-04-10 04:48:23

标签: database oracle toad

我正在使用TOAD for Oracle。我正在尝试执行带有两个参数的存储过程-一个输入和一个输出。看起来像这样:

步骤get_stuff(       parm_1 IN VARCHAR2,       parm_2 OUT游标)

在TOAD的“ SQL编辑器”窗口中,我尝试了各种尝试都无济于事。我确信这是我所缺少的简单事情,因为我已经尝试过在Experts Exchange的其他解决方案中看到的各种方法,但无法克服各种错误。这是我认为应该从我在这里看到的内容起作用的地方:

 var p1 VARCHAR2 := 'some text';
 var p2 currefcursor;

 EXEC get_stuff( :p1, :p2 );

但是,当我运行此命令时,SQL编辑器会弹出一个标题为“变量”的窗口,该窗口似乎正在寻找值。无论我是否将某些内容放入“值”文本框中,当我单击“确定”时,都会显示:

ORA-00900: invalid SQL statement

并突出显示p1前面的'var'。

请告诉我我所缺少的! 状态已解决优先级中级安全公众意见21999

2 个答案:

答案 0 :(得分:0)

由于第二个参数是 import pandas as pd df = pd.DataFrame() df['Purpose'] = ['Central Team Offiste Material - R2 Strengths Profiler test x 7', 'Project Green conference', 'had to book flight as late for flight due to transportation', 'Dublin Transition', 'Training - Dublin transition', 'HRLT Offsite in Dublin - seat choice', 'Baggage fare plus upgrade in flight class', 'Due to a family emergency Jeremy needed to fly home earlier', 'flight back to london after various clients meeting', 'Travel to UK'] Rule2_list=['Dublin', 'stakeholders', 'Travel', 'interviews', 'workshop', 'due-diligence', 'business trip', 'client', 'risk'] df['Purpose'].str.contains(Rule2_list[0]) 0 False 1 False 2 False 3 True 4 True 5 True 6 False 7 False 8 False 9 False Name: Purpose, dtype: bool ,因此必须声明将接受该值的变量。就是这样;我不知道OUT是什么类型-我想你知道。

currefcursor

查看结果的一个简单选项是:将代码放入编辑器中并作为脚本运行;结果将显示在“脚本输出”选项卡中。

declare
  l_out currefcursor;
begin
  get_stuff(:p1, l_out);
end;
/

或者,您甚至可以创建一个 wrapper 函数,该函数返回 cursor ,然后从中进行选择:

variable l_out currefcursor
exec get_stuff(:p1, :l_out);
print l_out

答案 1 :(得分:0)

您也可以使用Toad来执行,而无需自己编写执行工具。这是使用模式浏览器的一种方法。选择对象,然后右键单击>执行。

enter image description here

将显示一个对话框,询问您的输入参数。设置输入,您可以在下面看到生成的执行工具。您还可以将生成的代码用作教育指南,以了解自己编写代码的一种方法。

enter image description here

单击“确定”,将执行您的功能/过程并显示结果。

enter image description here