请问在Oracle过程中,如何根据传递的参数值不同,检索的表就不同呢?如下意思:(语法是错误的)
CREATE OR REPLACE PROCEDURE FACHGQUERY_PRO(changeTyp IN VARCHAR2)
AS
BEGIN
if (changeTyp>='2')
THAN (SELECT FIA00007 FROM FIA02);
if (changeTyp<'2')
THAN (SELECT FIA00007 FROM FIA03);
else (SELECT FIA00007 FROM FIA04);
end if;
END;
/
因为小弟要根据这个参数检索10多个表,希望调用这个过程,减少开发量
非常感谢!!!!!!!!!!!!!!!!!!
CREATE OR REPLACE PROCEDURE FACHGQUERY_PRO(changeTyp IN VARCHAR2)
AS
BEGIN
if (changeTyp>='2')
THAN (SELECT FIA00007 FROM FIA02);
if (changeTyp<'2')
THAN (SELECT FIA00007 FROM FIA03);
else (SELECT FIA00007 FROM FIA04);
end if;
END;
/
因为小弟要根据这个参数检索10多个表,希望调用这个过程,减少开发量
非常感谢!!!!!!!!!!!!!!!!!!
AS
BEGIN
if (changeTyp>='2') THEN
execute immediate 'SELECT FIA00007 FROM FIA02';
elsif (changeTyp <'2') THEN
execute immediate 'SELECT FIA00007 FROM FIA03';
else
execute immediate 'SELECT FIA00007 FROM FIA04';
end if;
END;
/