選擇不包含DML的Oracle存儲函數的返回值可以通過簡單地選擇函數來完成:如何在PLSQL Developer中測試包含DML的Oracle函數?
select function_name() from dual;
如果函數包含DML(在這種情況下,一些插入來記錄傳遞給它的參數功能),不允許上述查詢。 (ORA-14551)
如何選擇/查看此功能的返回值?
如果我在plsql開發人員中選擇「test」,plsqldev會生成如下內容:
declare
-- Non-scalar parameters require additional processing
result xmltype;
begin
-- Call the function
result := find_person(as_surname => :as_surname,
as_given => :as_given,
ad_birth_date_from => :ad_birth_date_from,
ad_birth_date_to => :ad_birth_date_to,
as_gender => :as_gender);
end;
如何查看「result」變量的值?開始/結束塊內的
select result from dual;
生成
ORA-06550: PLS-00428: an INTO clause is expected in this SELECT statement
真的,你應該有一個被稱爲 – 2009-12-13 04:30:51
的日誌程序使用autonomous_transaction進行日誌記錄通常是一個壞主意。你必須提交日誌,然後不能總是看到用戶實際上做了什麼,如果主事務回滾。 – jva 2009-12-14 10:53:00
-1:這並不回答被問到的問題 – kurosch 2009-12-21 22:25:40