存储过程如何返回结果集?
从sql server移植一存储过程,很简单,跑一条sql,返回一个结果集,仿照sql server 写成:
create or replace procedure se_samelevel(menuId in varchar2, sameMenus in varchar2) is
v_sql varchar(1000);
begin
v_sql := 'SELECT MenuIndex help_index, MenuLevel help_level,Caption name, '||
'(decode (MenuIndex,'||menuId||',''true'',''false'')) selected, '||
'Methods eventhandler, DisplayMode displaymode, '||
'UpFileName upfilename, DownFileName downfilename, '||
'ParentIndex help_parent '||
'FROM SYSMENUS '||
'WHERE MenuIndex IN ('||sameMenus ||') '||
'ORDER BY displaymode, menuindex ';
execute immediate v_sql;
end se_samelevel;
然后,执行
declare
-- Local variables here
i integer;
begin
se_samelevel('21','21');
end;
没有返回预期结果集,所有操作在sqlserver中都可以