您的位置:首页 > 数据库 > Oracle

PL/SQL中执行字符串SQL(表名)--execute immediate的简单用法(oracle)

2018-01-15 14:08 477 查看
在实际情况中, 我们往往需要根据不同的条件来动态设置表名, 这里直接用字符串对表名进行拼接是错误的做法,

可以尝试在pl/sql中使用以下方法:

转自:https://www.cnblogs.com/zj0208/p/6088097.html


execute immediate的简单用法(oracle)

直接上示例代码:

create or replace procedure proc_test(
--参数区域
)
is
--变量区域
--sql脚本
v_sql varchar2(2000) :='';
--记录学生数量
v_num number;
begin
--执行区域

-- execute immediate用法1:立刻执行sql语句
v_sql := 'create or replace view myview as select id,name from student';
execute immediate v_sql;

--- execute immediate用法2:立刻执行sql语句,并赋值给某个变量
v_sql := 'select count(1) from student';
execute immediate v_sql into v_num;

-- execute immediate用法3:带参数的sql
v_sql:='select * from student t where t.name=:1 and t.age=:2';
execute immediate v_sql using 'ZhangSan',23;

end proc_test;
/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: