码迷,mamicode.com
首页 > 数据库 > 详细

(转)Oracle执行字符串

时间:2014-09-02 15:46:34      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   ar   数据   div   log   sp   

declare
v_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执行字符串

标签:style   blog   http   color   ar   数据   div   log   sp   

原文地址:http://www.cnblogs.com/wpcnblog/p/3951508.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!