CREATE OR REPLACE
PROCEDURE TEST(v_var IN NUMBER) AS
type mycursor is ref cursor;
c mycursor;
sqlstr VARCHAR2(200);
var_out NUMBER;
TYPE myobject IS RECORD(
num T_BASE_ORGANIZATION.ID%type ,
name T_BASE_ORGANIZATION.ABBREVIATION%type
);
object myobject;
BEGIN
sqlstr := 'SELECT id , ABBREVIATION FROM T_BASE_ORGANIZATION WHERE 1 = 1';
IF v_var IS NOT null then
sqlstr := sqlstr||'AND ORG_TYPE = '||v_var;
ELSE
null;
END IF;
open c for sqlstr;
dbms_output.put_line(sqlstr);
loop
fetch c into object;
dbms_output.put_line(object.num);
exit when c%notfound;
end loop;
END;
oracle动态sql查询多行结果
最新推荐文章于 2022-11-25 10:57:14 发布