You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在TOAD中调用存储过程并将结果输出至网格

在TOAD中调用MyPackage.GetFailedTransactions并将结果输出到网格

我来帮你搞定这个需求,其实操作起来挺直观的——你的存储过程已经用REF CURSOR封装了结果集,TOAD对这类场景支持得非常好。下面给你两种可行的方法:

方法一:用SQL Worksheet写匿名PL/SQL块(最直接高效)

  • 打开TOAD的SQL Worksheet(顶部菜单栏选Database > SQL Worksheet,或者直接点工具栏的SQL图标)
  • 在编辑器里输入以下代码:
DECLARE
  -- 声明一个和存储过程OUT参数类型完全匹配的游标变量
  v_failed_trans MyPackage.ct;
BEGIN
  -- 调用目标存储过程,把查询结果赋值给游标变量
  MyPackage.GetFailedTransactions(p_fails => v_failed_trans);
  
  -- 这里不需要额外代码,TOAD会自动识别这个游标变量并提供查看入口
END;
/
  • 点击工具栏的Execute as Script(绿色播放按钮,或按F5)执行这段代码
  • 执行完成后,在TOAD下方的Script Output面板里,你会看到执行成功的提示,同时会出现一个Cursors标签页——点击它找到v_failed_trans,再点击游标名称,结果就会以网格形式展示出来了!

方法二:用TOAD的可视化执行向导(不用写代码)

如果你偏好可视化操作,也可以用TOAD自带的工具:

  • 打开TOAD的Schema BrowserDatabase > Schema Browser
  • 在左侧导航栏找到Packages,定位到MyPackage并展开,找到GetFailedTransactions存储过程
  • 右键点击该存储过程,选择Execute
  • 在弹出的执行窗口里,TOAD会自动识别OUT参数p_fails的类型,直接点击Execute按钮
  • 执行完成后,窗口底部会直接显示游标返回的结果网格,一步到位

小补充

  • 确保你的数据库连接拥有访问MyPackageMDC_FAILURE表的权限,否则会触发权限报错
  • 如果你的TOAD版本偏旧,可能需要在匿名块里添加DBMS_SQL.RETURN_RESULT(v_failed_trans);来强制输出游标结果,代码调整后如下:
DECLARE
  v_failed_trans MyPackage.ct;
BEGIN
  MyPackage.GetFailedTransactions(p_fails => v_failed_trans);
  DBMS_SQL.RETURN_RESULT(v_failed_trans);
END;
/

执行后结果会直接出现在SQL Results面板的网格中。

内容的提问来源于stack exchange,提问作者ADH

火山引擎 最新活动