ORACLE9i动态SQL调用方法心得_oracle动态sql的总结

2020-02-28 其他心得体会 下载本文

ORACLE9i动态SQL调用方法心得由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“oracle动态sql的总结”。

ORACLE9i动态SQL调用方法心得

一、执行动态函数--返回值

OUT_CS:=0;--参数

IN_CS1:=100;

IN_CS2:=150;--自定义函数名称FUN_01();

NAME:='01'

V_SQL := 'BEGIN :1:=FUN_'||NAME||'(:2);END;';

BEGIN

EXECUTE IMMEDIATE V_SQL

USING OUT OUT_CS, IN IN_CS;

EXCEPTION

WHEN OTHERS THEN

OUT_JG := '执行异常!';

END;

FUNCTION GET_DMGZ(IN_CS IN NUMBER)RETURN NUMBER AS AS BEGIN

RETURN IN_CS+1;END;

二、执行动态过程--输出参数

OUT_CS:=0;--输入参数

IN_CS:=100;--自定义函数名称PRO_01();

NAME:='01'

V_SQL := 'BEGIN PRO_' || NAME|| '(:1,:2);END;';

BEGIN

EXECUTE IMMEDIATE V_SQL

USING IN IN_CS, OUT RVAR;

EXCEPTION

WHEN OTHERS THEN

OUT_JG := 0;

END;

PROCEDURE PRO_01(IN_CS

IN NUMBER, OUT_CS OUT NUMBER)AS BEGIN

OUT_CS:=IN_CS+1;END;

三、返回游标参数

1、在包里新建一类型 TYPE MY_CUR IS REF CURSOR;

2、在参数定义时使用自定义类型

OUT_CS OUT MY_CUR;--存储过程

RETURN MY_CUR;

--自定义函数

3、存储过程

PROCEDURE PRO_01(IN_CS

IN NUMBER, OUT_CS OUT MY_CUR)AS BEGIN

OPEN OUT_CS FOR SELECT IN_CS+1 FROM DUAL;END;

4、自定义函数

FUNCTION GET_DMGZ(IN_CS IN NUMBER)RETURN MY_CUR AS RC MY_CUR;AS BEGIN

OPEN RC FOR SELECT IN_CS+1 FROM DUAL;

RETURN RC;END;

3、如何使用返回游标参数

FETCH MY_CUR INTO OUT_CS;

四、注意事项

动态调用存储过程,返回游标类型时系统会出现错误,系统执行完函数或存储过程时会停止,不返回上级程序。

《ORACLE9i动态SQL调用方法心得.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
ORACLE9i动态SQL调用方法心得
点击下载文档
相关专题 oracle动态sql的总结 心得 方法 动态 oracle动态sql的总结 心得 方法 动态
[其他心得体会]相关推荐
    [其他心得体会]热门文章
      下载全文