oracle execute immediate create,ORACLE EXECUTE IMMEDIATE 用法详解
最近工作中有用到存储过程,关于存储过程其中EXECUTE IMMEDIATE在实际开发中用到的还是比较多的 于是乎就把自己在用到时存在的用法及问题在这里总结一下:
如果在存储过程中 有需要创建表格 更改表结构等操作的时候 并且在接下去的操作需要用到新的表或者结构等问题的时候 必须要使用EXECUTE IMMEDIATE 去执行SQL语句,否则由于oracle的机制则会提示报错,表或者表结构未创建或为修改,这里只举两个例子,实际运用得根据情况去判断!
最近的开发过程中也经常使用到执行一个字符串的SQL语句 需要将其插入到一个变量中来,EXECUTE IMMEDIATE 'SELECT T.ID FROM STUDENT T WHERE A.NAME=''小明''' INTO V_ID(已在存储过程定义的变量名)
这里只是举例,假如小明只有一个 那个会顺利的将值插入到变量中,但如果是该变量存在两个或以上的值则需要用到
BULK COLLECT INTO 变量名;如果要将插入到多个变量中则在后面累加即可。
这里需要注意的是这个变量名必须是个数组类型,否则编译无法通过,如果对其循环可以执行相应的操作。
如果语句中需要用到变量则有两种方法:
方法1:可以拼接字符串类型的SQL语句,如(V_SQL:='SELECT T.ID FROM STUDENT T WHERE A.NAME='|| V_NAME;)。
方法2:使用USING 关键字 例如: EXECUTE IMMEDIATE 'SELECT T.ID FROM STUDENT T WHERE A.NAME=:V_NAME' USING '小明' INTO V_ID; 也可以把变量传过来 这里只举例
在一些特殊情况也可以通过这些操作来拼接SQL语句,例如限制条件的区分,这样会使一个SQL语句在不同的场景中有不同的效果,而不只是简单的用变量来取代的作用,
由于我使用oracle也只有几个月时间,所以对这个的心得也大概如此了,希望对大家以后的使用会有所帮助。
oracle execute immediate create,ORACLE EXECUTE IMMEDIATE 用法详解相关推荐
- Oracle数据泵备份与恢复 命令 expdp/impdp 用法详解
Oracle数据泵备份与恢复 命令 expdp/impdp 用法详解 关于expdp和impdp 使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户 ...
- oracle中的exists 和 not exists 用法详解
from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...
- oracle中的exists 和not exists 用法详解
有两个简单例子,以说明 "exists"和"in"的效率问题 1) select * from T1 where exists(select 1 from T2 ...
- pssh Oracle,Linux批量远程管理主机命令_pssh用法详解
(六) pslurp用法-把文件或者目录并行地从多个远程主机复制到中心主机上 它从每台远程计算机收集指定的文件,但是并不覆盖文件的本地版本.pslurp 为每台远程计算机创建一个子目录并把指定的文件复 ...
- Oracle之DBMS_SQL包用法详解
Oracle之DBMS_SQL包用法详解 原文 http://zhangzhongjie.iteye.com/blog/1948093 通常运用 DBMS_SQL 包一般分为 如下 几步: 1. o ...
- Oracle Merge Into 的用法详解实例
Oracle merge into 的用法详解实例 作用:merge into 解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表: 语法: MERGE INTO [your table- ...
- oracle中取反_oracle正则表达式regexp_like的用法详解
oracle正则表达式regexp_like的用法详解 更新时间:2013年06月13日 17:42:05 作者: 本篇文章是对oracle正则表达式regexp_like的用法进行了详细的分析介 ...
- Oracle中游标Cursor基本用法详解
这篇文章主要介绍了Oracle中游标Cursor基本用法详解,还是比较全面的,具有一定参考价值,需要的朋友可以了解下. 查询 SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELECT ...
- oracle中minus作的应用,Oracle minus用法详解及应用实例
Oracle minus用法详解及应用实例 Oracle minus用法 "minus"直接翻译为中文是"减"的意思,在Oracle中也是用来做减法操作的,只不 ...
- Oracle之外键(Foreign Key)用法详解(一)
Oracle外键(Foreign Key)用法详解(一) 1.目标 演示如何在Oracle数据库中使用外键 2.什么是外键? 1)在Oracle数据库中,外键是用来实现参照完整性的方法之一.打个形象的 ...
最新文章
- Express.js 中的 Sessions 如何工作?(译)
- java简单工厂模式_Java 简单工厂模式
- 260. 只出现一次的数字 III 【位运算】
- VTK:图片之ImageContinuousErode3D
- Asp.Net 章节验证控件章节测试题
- Python中判断字符是否为字母、数字、字母和数字组合,验证回文串(LeetCode125)
- 详谈DHCP SNOOP等多方面的安全设置(2)
- 潍坊学院计算机系崔玲玲,人工免疫算法在引水工程中的应用.pdf
- 我国博士生延期毕业率高达68.3%,导致博士延期原来是这10个原因
- 软件测试需注意的事项
- Android游戏开发基本知识
- Android下查看共享库依赖项
- 拓端tecdat|python对网络图networkx进行社区检测和彩色绘图
- 转载 --关于增量编译
- 微信小程序口令红包-语音识别
- webrtc QOS方法一(NACK实现)
- 前端面试,面试官会问些啥...
- 深信服设备电源键关机
- 百家号不推荐的文章如何解决呢?
- Python-opencv实现Trackbar调节亮度对比度
热门文章
- adb连接失败 模拟器无法连接
- LVGL的使用:运行LVGL的PC模拟器例程
- 联想F31笔记本配置分析
- android腾讯视频包名,腾讯视频(com.tencent.qqlive) - 8.3.65.21966 - 应用 - 酷安
- cocos2dx tolua ++ 使用 常见得错误
- oracle 答辩 问题,数据库答辩题库(含答案)
- 爬一爬xxx学校的教务网站
- 顶不住攻击的压力,Zoom为用户推出了端到端加密
- Wifi热点护理:为无线路由器延年益寿
- 光敏电阻控制小灯泡的亮暗代码编写