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

其他心得体会 时间:2020-02-28 18:01:44 收藏本文下载本文
【www.daodoc.com - 其他心得体会】

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调用方法心得word格式文档
下载ORACLE9i动态SQL调用方法心得.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文