2011-01-28 212 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