PL/SQL中直接写SQL语句和利用EXECUTE IMMEDIATE方法的区别
来源:互联网 发布:手机知乎怎样发表文章 编辑:程序博客网 时间:2024/05/22 19:57
一、在PL/SQL中在执行SQL语句时可以直接写SQL或者可以把一个SQL语句拼成一个字符串,如下:
select * from emp; --直接编写SQL语句
v_sql := 'select * from emp'; --编写sql语句字符串
execute immediate v_sql;
一般来说直接写SQL的性能是高于拼字符串的,因为如果执行拼字符串的需要内部自动调动oracle机制,先解析字符串映射成SQL语句然后再执行。
拼SQL的方式有好处。
1、SQL语句是一个字符串可以动态拼接,根据不同的条件来改变SQL语句,这是直接写SQL所不能达到的。
2、可以动态的对参数传递值,这是最大的优势。例如:
v_sql:='select * from emp e where e.job=:1 and e.deptno=:2';
EXECUTE IMMEDIATE v_sql USING 'MANAGER','20';
“:”称绑定变量指示符,它是用户放入查询中的占位符,它会告诉Oracle现在生成一个方案框架,实际执行语句的时候会提供该使用的实际值。
0 0
- PL/SQL中直接写SQL语句和利用EXECUTE IMMEDIATE方法的区别
- PL/SQL中直接写SQL语句和用EXECUTE IMMEDIATE 方法的区别
- PL/SQL中直接写SQL语句和用EXECUTE IMMEDIATE方法的区别
- 动态SQL和PL/SQL的EXECUTE IMMEDIATE选项
- 动态SQL和PL/SQL的EXECUTE IMMEDIATE选项(转载)
- 动态SQL和PL/SQL的EXECUTE IMMEDIATE选项
- 动态SQL和PL/SQL的EXECUTE IMMEDIATE选项(转载)
- 动态SQL和PL/SQL的EXECUTE IMMEDIATE选项
- 动态SQL和PL/SQL的EXECUTE IMMEDIATE选项
- 动态SQL和PL/SQL的EXECUTE IMMEDIATE选项(选择自 NinGoo 的 Blog)
- 动态SQL和PL/SQL的EXECUTE IMMEDIATE选项(选择自 NinGoo 的 Blog)
- 动态SQL和PL/SQL的EXECUTE IMMEDIATE选项(选择自 NinGoo 的 Blog)
- 动态SQL和PL/SQL的EXECUTE IMMEDIATE选项(转)
- oracle 的PL/SQL中的EXECUTE IMMEDIATE的用法
- PL/SQL语言中的execute immediate 命令只能用于DDL语句的执行,对于DML和DQL语句却不能实际执行
- Oracle (触发器)execute immediate 'sql语句'
- EXECUTE IMMEDIATE option for Dynamic SQL and PL/SQL
- 动态SQL execute immediate
- 4位超60岁程序员大爷的生存秘籍
- Thymeleaf学习总结(1)——新一代Java模板引擎Thymeleaf
- IP地址,子网掩码,默认网关,DNS服务器详解
- OpenCV+Python教程之1-Ubuntu16.04下安装OpenCV教程
- Angular2-核心内容介绍
- PL/SQL中直接写SQL语句和利用EXECUTE IMMEDIATE方法的区别
- Unity性能优化(4)-官方教程Optimizing graphics rendering in Unity games翻译
- caffe安装及python接口配置(ubuntu16.04 only cpu)
- 大型网站架构之系列——死了都要说的缓存
- Ionic学习--1.概述
- C++初探----直接运行exe会闪关
- 输出九九乘法表
- 练习 2-5 编写函数 any(s1, s2),将字符串 s2 中的任一字符在字符串 s1 中第一次 出现的位置作为结果返回。如果 s1 中不包含 s2 中的字符,则返回-1。
- DAG上的动态规划问题