选择不包含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