首页 > 代码库 > (转)Oracle执行字符串
(转)Oracle执行字符串
declarev_out varchar2(50);begin execute immediate ‘select p_guid from c_itcomp where rownum = 1 ‘ into v_out; dbms_output.put_line(v_out);end;
数据库版本必须> =oracle 8i
直接的select语句是没有用的,猜测因为select返回的是多行多列
可以执行DML,DDL等
如insert, update, create等
还可以绑定变量
如 STRSQL:=‘UPDATE TNAME SET COL1=:VARIABLE1 WHERE COLX=:VARIABLE2 ‘;
EXCUTE IMMEDIATE STRSQL USING VALUE1,VALUE2;
本文转载自:http://blog.sina.com.cn/s/blog_5421dfd20100r29j.html
执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句
EXECUTE IMMEDIATE -- 用法例子
1. 在PL/SQL运行DDL语句
begin
execute immediate ‘set role all‘;
end;
2. 给动态语句传值(USING 子句)
declare
l_depnam varchar2(20) := ‘testing‘;
l_loc varchar2(10) := ‘Dubai‘;
begin
execute immediate ‘insert into dept values (:1, :2, :3)‘
using 50, l_depnam, l_loc;
commit;
end;
3. 从动态语句检索值(INTO子句)
declare
l_cnt varchar2(20);
begin
execute immediate ‘select count(1) from emp‘
into l_cnt;
dbms_output.put_line(l_cnt);
end;
(转)Oracle执行字符串
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。