2011-01-28 57 views
7

如何在Toad中找到函数的返回值是什么?如何从Toad中的函数获取返回值

我运行这样的代码:

declare r number; 
begin 
    r:= packagename.functionname(paraname); 
end; 

我不能工作如何获得“R”返回到数据网格,一些职位,建议使用DBMS输出,但没有数据被写入到它当我运行代码。

该函数执行更新,提交,调用其他函数并在其中包含光标。

回答

12
begin 
    dbms_output.put_line(packagename.functionname(paraname)); 
end; 

你需要运行此之前打开输出上。为此,请选择编辑器底部的“DBMS输出”选项卡,然后单击选项卡下的最左边的按钮(它应显示一个红色圆圈,工具提示“打开输出”(如果是绿色圆圈,则输出已经在))。

查询结果将写入“DBMS输出”窗口,而不是“数据网格”(您可能必须等待几秒钟才能轮询结果)。如果使用用户定义的类型或引用游标,则这将不够用,并且在将它们写出之前需要在匿名块中处理结果。

+0

您也可以在底部的同一区域打开“执行后自动轮询输出”。 – Andrew 2017-08-31 19:44:26

8

如何只:

select packagename.functionname(paraname) from dual; 
+2

试过但得到:“ORA-14552无法在查询或DML中执行DDL,提交或回滚。”编辑帖子以提供更多信息。 – Stagg 2011-01-28 10:32:51

-1

选择packagename.functionname(paraname)从双重的克劳斯答案;

为我工作,但它只返回一个游标。这在Toad的数据网格中显示为(CURSOR)。一旦我双击它,它就会为该光标打开一个带有数据网格的新窗口,并看到了我的结果。

+2

这更像是一个评论,而不是对问题的新答案 – slfan 2016-03-03 19:39:21

相关问题