永发信息网

如何在oracle存储过程中执行动态sql语句

答案:2  悬赏:10  手机版
解决时间 2021-01-30 14:24
如何在oracle存储过程中执行动态sql语句
最佳答案
v_sql := ' select / ……‘ ;
execute immediate v_sql ;
全部回答
有时需要在oracle 存储过程中执行动态sql 语句 ,例如表名是动态的,或字段是动态的,或查询命令是动态的,可用下面的方法: set serveroutput on declare n number; sql_stmt varchar2(50); t varchar2(20); begin execute immediate 'alter session set nls_date_format=''yyyymmdd'''; t := 't_' || sysdate; sql_stmt := 'select count(*) from ' || t; execute immediate sql_stmt into n; dbms_output.put_line('the number of rows of ' || t || ' is ' || n); end; 如果动态sql 语句 很长很复杂,则可用包装. create or replace package test_pkg is type cur_typ is ref cursor; procedure test_proc (v_table varchar2,t_cur out cur_typ); end; / create or replace package body test_pkg is procedure test_proc (v_table varchar2,t_cur out cur_typ) is sqlstr varchar2(2000); begin sqlstr := 'select * from '||v_table; open t_cur for sqlstr; end; end; / 在oracle 中批量导入,导出和删除表名以某些字符开头的表 spool c:\a.sql select 'drop table ' || tname || ';' from tab where tname like 't%'; spool off @c:\a
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
翠旌的意思是什么啊?知道的请说下!
下列关于哺乳动物胚胎发育和胚胎工程的叙述,
求极限limx→+∞∫ x 1(t2(e1t?1)?t)dtx2ln(1
再不符意,谯让随之矣.什么意思
吸气时吸不下去,感觉气堵在胸口下不去丹田。
吃饭吃下食气了怎么办
谁知道BMX的后轮滑怎么练!!
电揽传输距离是100米,损耗的是电压还是电流
老李 你这种思想 太落后了。真的 永远是社会
花椒树上有油虫怎么为
开荒保洁公司地址好找么,我有些事要过去
镇肝熄风汤的君药是A.怀牛膝B.生赭石C.生龟版
驿马星的意思是什么啊?知道的请说下!
和自己喜欢你女生聊天话说重了不理我了怎么办
【共青团团歌指挥】中国共青团团歌《光荣啊,
推荐资讯
小苹果ktv地址好找么,我有些事要过去
用加减消元法解二元一次方程组{2x-5y=1① 5x+
斗破苍穹中萧炎准备去救药尘是多少章?
“期盼校运动会到来期盼校运动会到来期盼…”
关于龙的神话传说~!!~~!要简短的。20~30字
个人贷款选择什么平台比较好
除锈剂喷在车上,会不会把橡胶化掉,对漆面有
碧檐的意思是什么啊?知道的请说下!
外籍华人漂外二十年、今回国定居能申领养老金
我是个大学生,今年毕业想创业今天急用钱所以
没钱还信用卡了,逾期三个月,银行发短信卡暂
张学良被软禁50多年,都是怎么打发时间的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?