PLSQL中execute immediate用法
1、基础概念
1. 作用:在 pl/sql 中执行 '立即执行 sql 语句'(1) 比如:咱常常在 Oracle 语法中可以直接执行 update、insert、delete 操作但,在 pl/sql 语法中,是 '不能直接' 同在 Oracle 这样操作的 (2) 为了解决此类问题,引入了 execute immediate(立即执行)2. 以下效果等同(1) Oracle 语法:update table_name set column_name = 1 where column_name = 2;(2) pl/sql 语法:execute immediate '上述 sql';3. 可以同动态 sql 连用(1) execute immediate <sql> using <:b1, :b2>;
2、实际使用
create table stu_info (sno number(3),sname varchar2(30)
);insert into stu_info(sno, sname) values(1, '瑶瑶');
insert into stu_info(sno, sname) values(2, '优优');
commit;DECLAREv_sql VARCHAR2(200);v_sname stu_info.sname%TYPE;v_num PLS_INTEGER;
BEGIN-- 用法1 : ddl 语句v_sql := 'create or replace view vw_stu_info as select sno, sname from stu_info';EXECUTE IMMEDIATE v_sql;-- 用法2 :dml 语句 + 动态 sqlv_sql := 'insert into stu_info(sno, sname) values(:b1, :b2)';EXECUTE IMMEDIATE v_sqlUSING 3, '倩倩';-- 用法3:赋值给某个变量v_sql := 'select count(1) from stu_info';EXECUTE IMMEDIATE v_sqlINTO v_num;dbms_output.put_line('总记录条数:' || v_num);-- 记得 commit(同 Oracle 语法)COMMIT;
END;
PLSQL中execute immediate用法相关推荐
- java中execute用法_EXECUTE IMMEDIATE用法小解
EXECUTE IMMEDIATE 代替了以前Oracle8i中DBMS_SQL package包. 它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前, ...
- Oracle中EXECUTE IMMEDIATE的使用技巧
http://database.ctocio.com.cn/38/12238038.shtml EXECUTE IMMEDIATE代替了以前Oracle中DBMS_SQL package包. 下面就为 ...
- WEB Struts2 中OGNL的用法
2019独角兽企业重金招聘Python工程师标准>>> User对象属性获取 如User中有username和password字段 获取username属性<s:propert ...
- EXECUTE IMMEDIATE用法小解
http://www.cnblogs.com/goodbye305/archive/2008/06/23/1228073.html EXECUTE IMMEDIATE 代替了以前Oracle8i中DB ...
- sql语句中的in用法示例_PHP中的循环语句和示例
sql语句中的in用法示例 循环 (Loops) Imagine that we need a program that says "hello world" 100 times. ...
- python中mysqldb模块_python中MySQLdb模块用法实例
本文实例讲述了python中MySQLdb模块用法.分享给大家供大家参考.具体用法分析如下: MySQLdb其实有点像php或asp中连接数据库的一个模式了,只是MySQLdb是针对mysql连接了接 ...
- VB中KeyCode常数用法 VB 按键
VB中KeyCode常数用法 可在代码中的任何地方用下列常数代替实际值: 常数 值 描述 vbKeyLButton 0x1 鼠标左键 vbKeyRButton 0x2 鼠标右键 vbKeyCancel ...
- oracle execute immediate用法
参考:https://zhidao.baidu.com/question/119144004.html在ORACLE的PL/SQL里 EXECUTE IMMEDIATE 代替了以前Oracle8i中D ...
- python中MySQLdb模块用法实例
篇文章主要介绍了python中MySQLdb模块用法,以实例形式详细讲述了MySQLdb模块针对MySQL数据库的各种常见操作方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了python中 ...
最新文章
- 刚安装了Fedora32,尝尝鲜~,哈哈~~~
- python socket编程:实现redirect函数、cookie和session
- ant java eclipse_Eclipse之ANT使用
- 电影图标:杀死比尔(Kil Bill)
- JEECG登陆全过程
- 盲盒商城源码|盲盒商城app开发的模式玩法、功能以及开发流程介绍,多套盲盒源码现成案例。让您在了解盲盒项目开发中少走弯路,少踩坑。
- g41 计算机主板维修,解决方法:G41主板BIOS设置方法
- 淘宝/天猫商品优惠券查询API接口,优惠券API接口
- 微信支付宝扫码支付相关接口
- 7-32 哥尼斯堡的“七桥问题”
- 游戏开场镜头拉近(Unity3D开发之四)
- ROS自主驾驶割草机
- 领导说“辛苦了”,千万别回“应该的”, 这是我听过最扎心的答案了!
- 电脑的大脑——CPU
- 3D游戏角色模型建模| ZBrush制作3D兽人
- java回溯算法解决数独_js回溯算法解决数独问题
- cocos2d-x自代的Json库解析json(转)
- CSS 清除浮动的方法
- CAD文件版本怎么转换?如何将高版本转换成低版本?
- 记录10--fedora 14下安装tftp软件