在 PL/SQL 块中,可以使用 DDL 语句和事物控制语句,但还有很多语句不能直接在 PL/SQL 中运行,比如 DDL,这些语句可以使用动态 SQL 来执行。
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0
Connected as scott
动态 SQL 的语法格式
EXECUTE IMMEDIATE 动态语句字符串
[INTO 变量列表]
[USING 参数列表]
代码演示
declare
sql_stmt varchar2(200);
emp_id number(4):=7566;
salary number(7,2);
dept_id number(2):=90;
dept_name varchar2(14):='PERSONNEL';
loc varchar2(13):='DALLS';
emp_rec emp%ROWTYPE;
begin
--执行无字句的动态 SQL
execute immediate 'CREATE table tttt(id number,name varchar2(10))';
--参数名必须以冒号开头,名字随便写,但不能重复
sql_stmt:='insert into dept values(:1,:2,:3)';
execute immediate sql_stmt using dept_id,dept_name,loc;
sql_stmt:='select * from emp where empno = :i';
execute immediate sql_stmt into emp_rec using emp_id;
sql_stmt:='update emp set sal = 2000 where empno=:1 returning sal into :2';
execute immediate sql_stmt using emp_id returning into salary;
execute immediate 'delete from dept where deptno = :n' using dept_id;
end;
分享到:
相关推荐
Oracle中动态SQL详解,开发人员必备。
Oracle中动态SQL方法四在数据同步中的应用.pdf
Oracle动态执行SQL四种方式的例子
Oracle中执行动态SQL的几种方法 在一般的sql操作中,sql语句基本上都是固定的,如: SELECT t.empno,t.ename FROM scott.emp t WHERE t.deptno = 20; 但有的时候,从应用的需要或程序的编写出发,都可能需要用到动态...
oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具...
Oracle编译PL/SQL程序块分为两个种:通常静态SQL采用前一种编译方式,而动态SQL采用后一种编译方式,需要了解的朋友可以参考下
oracle 中的SQL语言基础 oracle 中的SQL语言基础
oracle数据库的性能优化直接关系到系统的运行效率,而影响数据库性能的一个重要因素就是sql性能问题。本书是作者十年磨一剑的成果之一,深入分析与解剖oracle sql优化与调优技术,主要内容包括: 第一篇“执行计划...
Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(一) http://download.csdn.net/source/3268267 Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(二) ...
简单描述Oracle v$sqlarea, v$sql, v$sqltext视图说明
总结Oracle 脚本编程中,动态SQL的几种用法
首先我想到的是采用检测每个字节ASCII的方式,这样的话需要写一个自定义函数,然后SQL中调用得到结果。但是感觉这个方法估计很耗时,毕竟每个字符都要比较,所以没有去实现。突然想到Oracle有一个编码转换的函数叫...
本文讲解了基于Oracle高性能动态SQL程序开发。
Oracle数据库监听工具
execute immediate str_sql into tabtcn; --动态执行DDL语句
oracle和sql数据类型
本书是专门为oracle应用开发人员提供的sql和pl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法...
认识oracle中的sqlnet.ora tnsnames.ora listener.ora三个文件
oracle中的sql函数说明,详细描述函数的各个参数。