(转)Oracle执行字符串
2024-08-29 01:26:36
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;
最新文章
- 模仿EF,我们用JS开发的HTML5 SQLite 访问库
- 【开源】OSharp3.3框架解说系列:重新开源及3.3版本新特性
- HTML 学习笔记 CSS3 (多列)
- 剑指架构师系列-tomcat6通过伪异步实现connector
- Js日期选择器并自动加入到输入框中
- 迭代的模块itertools
- .NET中的弱引用
- YII数据库增删查改操作
- oracle中LAG()和LEAD()等分析统计函数的使用方法(统计月增长率)
- 安装Windows操作系统的驱动程序(驱动精灵版) - 进阶者系列 - 学习者系列文章
- Essential C#读书笔记
- 使用vs code实现git同步
- Educational Codeforces Round 34
- [洛谷P1842] 奶牛玩杂技
- 参观微软Serbia开发中心和Office365 2019-01-31活动感悟
- web开发-Django博客系统
- python读取es中的所有数据并计算md5然后进行持久化
- 第57节:Java中流的操作以及编码解码
- hadoop HA (no zkfc to stop) DFSZKFailoverController进程没有启动
- Applese的毒气炸弹-最小生成树Kruskal算法