oracle存储过程中如何执行动态SQL语句,详细

问问题描述

oracle存储过程中如何执行动态SQL语句,详细,有没有大佬在?求高手帮忙看看这个!

答精选答案

最佳答案

有时需要在oracle存储过程中执行动态SQL语句,例如表名是动态的,或字段是动态的,

r或查询命令是动态的,可用下面的方法:

rsetserveroutputondeclarennumber;sql_stmtvarchar2(50);

rtvarchar2(20);beginexecuteimmediate'altersessionsetnls_date_format=''YYYYMMDD''';

rt:='t_'||sysdate;

rsql_stmt:='selectcount(*)from'||t;

rexecuteimmediatesql_stmtinton;

rdbms_output.put_line('Thenumberofrowsof'||t||'is'||n);end;

r如果动态SQL语句很长很复杂,则可用包装.

rCREATEORREPLACEPACKAGEtest_pkgISTYPEcur_typISREFCURSOR;

rPROCEDUREtest_proc(v_tableVARCHAR2,t_curOUTcur_typ);END;/

rCREATEORREPLACEPACKAGEBODYtest_pkgISPROCEDUREtest_proc(v_tableVARCHAR2,t_curOUTcur_typ)ISsqlstrVARCHAR2(2000);BEGINsqlstr:='SELECT*FROM'||v_table;

rOPENt_curFORsqlstr;END;END;/

r在oracle中批量导入,导出和删除表名以某些字符开头的表

rspoolc:

a.sql

本文来自作者[蓬蒿狂客]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/changshijingxuan/202609/1536365.html

赞 (0)

发表回复

本站作者后才能评论

评论列表(4条)

  • 蓬蒿狂客
    蓬蒿狂客 2026年09月30日

    我是公众科技网的签约作者“蓬蒿狂客”!

  • 蓬蒿狂客
    蓬蒿狂客 2026年09月30日

    希望本篇文章《oracle存储过程中如何执行动态SQL语句,详细》能对你有所帮助!

  • 蓬蒿狂客
    蓬蒿狂客 2026年09月30日

    本站[公众科技网]内容主要涵盖:教育咨询,知识百科

  • 蓬蒿狂客
    蓬蒿狂客 2026年09月30日

    本文概览:有时需要在oracle存储过程中执行动态SQL语句,例如表名是动态的,或字段是动态的,r或查询命令是动态的,可用下面的方法:rsetserveroutputondeclarennumber;sql_stmtvarchar2(50);rtvarchar2(20);beginexecuteimmediate'altersessionsetnls_date_format=''YYYYMMDD''';rt:='t_'||sysdate;rsql_stmt:='selectcount(

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们