当前位置:首页>开发>正文

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

2024-01-13 15:21:41 互联网 未知 开发

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

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

有时需要在oracle存储过程中执行动态SQL语句,例如表名是动态的,或字段是动态的, 或查询命令是动态的,可用下面的方法: setserveroutputondeclarennumbersql_stmtvarchar2(50) tvarchar2(20)beginexecuteimmediatealtersessionsetnls_date_format=YYYYMMDD t:=t_||sysdate sql_stmt:=selectcount(*)from||t executeimmediatesql_stmtinton dbms_output.put_line(Thenumberofrowsof||t||is||n)end 如果动态SQL语句很长很复杂,则可用包装. CREATEORREPLACEPACKAGEtest_pkgISTYPEcur_typISREFCURSOR PROCEDUREtest_proc(v_tableVARCHAR2,t_curOUTcur_typ)END/ CREATEORREPLACEPACKAGEBODYtest_pkgISPROCEDUREtest_proc(v_tableVARCHAR2,t_curOUTcur_typ)ISsqlstrVARCHAR2(2000)BEGINsqlstr:=SELECT*FROM||v_table OPENt_curFORsqlstrENDEND/ 在oracle中批量导入,导出和删除表名以某些字符开头的表 spoolc:\a.sql

最新文章