Selecting the return value of an Oracle stored function that doesn't contain DML can be done by simply selecting the function:
select function_name() from dual;
If the function contains DML (in this case some inserts to log the arguments passed to the function), the above query is not allowed. (ORA-14551)
How can I select/view the return value of this function?
if I choose "test" in plsql developer, plsqldev produces something like:
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;
How can I view the value of the "result" variable?
select result from dual;
inside the begin/end block produces
ORA-06550: PLS-00428: an INTO clause is expected in this SELECT statement