我有一个简单的要求,要求从函数返回存储在变量中的值。我有一个1000行的复杂代码。我只是为了便于理解而简化了这个函数
create or replace function traudit040_func_ss
(p_Ambulance IN varchar2
)
return clob sql_macro as
vc_desc varchar2(1000) := '' ;
begin
IF (p_Ambulance = 10) then
vc_desc := 'No';
END IF;
return 'select ''' || vc_desc || ''' v1 from dual';
end;
现在我正在使用以下语句执行该函数
select * from traudit040_func_ss(10)
请在这里帮助我。我得到的输出为 NULL,但是我期望的值是 “否” 我认为上面的 IF 条件不起作用或者我遗漏了一些东西。预先感谢您。
不要从功能中选择。从双重中选择功能:
select traudit040_func_ss('10') from dual;
此外,如果您的输入是字符串,请使用字符串而不是数字来呈现。