oracle静态,oracle静态sql和动态sql
Excute immediate 动态SQL语句 using 绑定参数列表 returning into 输出参数列表;
对这一语句作如下说明:
1) 动态SQL是指DDL和不确定的DML(即带参数的DML)
2) 绑定参数列表为输入参数列表,即其类型为in类型,在运行时刻与动态SQL语句中的参数(实际上占位符,可以理解为函数里面的形式参数)进行绑定。
3) 输出参数列表为动态SQL语句执行后返回的参数列表。
4) 由于动态SQL是在运行时刻进行确定的,所以相对于静态而言,其更多的会损失一些系统性能来换取其灵活性。
3.为了更好的说明其开发的过程,下面列举一个实例:
设数据库的emp表,其数据为如下:
ID NAME SALARY
100 Jacky 5600
101 Rose 3000
102 John 4500
要求:
1.创建该表并输入相应的数据。
2.根据特定ID可以查询到其姓名和薪水的信息。
3.根据大于特定的薪水的查询相应的员工信息。
根据前面的要求,可以分别创建三个过程(均使用动态SQL)来实现:
过程一:
create or replace procedure create_table as
begin
execute immediate ‘create table emp(id number,name varchar2(10),salary number; )‘; --动态SQL为DDL语句
insert into emp values (100,‘jacky‘,5600);
insert into emp values (101,‘rose‘,3000);
insert into emp values (102,‘john‘,4500);
end create_table;
过程二:
create or replace procedure find_info(p_id number) as
v_name varchar2(10);
v_salary number;
begin
execute immediate ‘select name,salary from emp where id=:1‘
using p_id
returning into v_name,v_salary; --动态SQL为查询语句
dbms_output.put_line(v_name ||‘的收入为:‘||to_char(v_salary));
exception
when others then
dbms_output.put_line(‘找不到相应数据‘);
end find_info;
oracle静态sql和动态sql
标签:pl/sql out create media 绑定 exce end 静态 ora
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:http://www.cnblogs.com/sunziying/p/7190434.html
oracle静态,oracle静态sql和动态sql相关推荐
- 静态SQL和动态SQL
引言 SQL 语言作为标准的查询语言,几乎被所有的数据库管理系统 (DBMS) 所支持,并成为国际标准.标准的 SQL 语言一般包括三类,即 DDL (Data Definition Language ...
- oracle 拼接sql 日期,动态SQL对日期处理注意事项
如果一定要是动态SQL,一定要将日期类型用||拼起来,见下列写法,红色的是错的,下面的才对,两次类型转换,但是没有什么必要 --要么用绑定变量绑定date类型,要么静态sql,不要两次转换,直接拼日期 ...
- oracle 带有变量的语句_Oracle 动态SQL语句(2)之含变量的WHERE语句与日期变量
在 Oracle 动态SQL语句(1)中提到基本动态SQL语句书写,但在写动态SQL语句时特别要注意日期型变量和WHERE语句的编写. 如下代码: 1.注意在执行动态SQL语句时,execute im ...
- Oracle 存储过程,Hibernate 调用存储过程,JDBC调用存储过程,Oracle 动态SQL
Oracle 存储过程学习 目录 Oracle 存储过程........................................................................ ...
- Oracle数据库 动态SQL
文章目录 一.什么是动态SQL 二.动态SQL的作用 三.动态SQL语句的五种实现方法 四.动态SQL的语法结构 五.动态SQL的写法 写法1:不传参不赋值 写法2:将结果集存在变量中动态运行 写法3 ...
- Oracle 动态SQL语句
Oracle 动态SQL语句 EXECUTE IMMEDIATE代替了以前Oracle8i中DBMS_SQLpackage包. 它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块 ...
- Oracle PL/SQL进阶编程(第十五弹:动态SQL语句)
理解动态SQL语句 动态SQL语句基础 动态SQL语句不仅是指SQL语句是动态拼接而成的,更主要的是SQL语句所使用的对象也是运行时期才创建的.出现这种功能跟PL/SQL本身的早起绑定特性有关,早PL ...
- Oracle基础 动态SQL语句
一.静态SQL和动态SQL的概念. 1.静态SQL 静态SQL是我们常用的使用SQL语句的方式,就是编写PL/SQL时,SQL语句已经编写好了.因为静态SQL是在编写程序时就确定了,我们只能使用SQL ...
- 使用Oracle的DBMS_SQL包执行动态SQL语句
引用自:http://blog.csdn.net/ggjjzhzz/archive/2005/10/17/507880.aspx 在某些场合下,存储过程或触发器里的SQL语句需要动态生成.Oracle ...
最新文章
- 了解下SOAP Envelope 元素
- 微服务网关从零搭建——(三)Ocelot网关 + identity4
- 数据中心基础设施及日常运维管理
- 要选择做有价值的事情
- [luoguP4705]玩游戏
- 碰撞的小球 ccf (模拟)
- 【渝粤教育】国家开放大学2018年春季 0149-22T现代汉语 参考试题
- 移动端上传照片 预览+Draw on Canvas's Demo(解决 iOS 等设备照片旋转 90 度的 bug)...
- 微软直播马上开始,近百岗位等你来,快戳进直播间
- Java魔法堂:注解用法详解——@SuppressWarnings(转)
- Angular使用ng build打包报错 Property 'setControl' does not exist on type 'AbstractControl'.解决方法
- 用pcl读ply文件_一分钟详解PCL中点云配准技术
- k8s踩坑记第2篇--3个IP折磨人的故事
- RF+ Appium,如何隐藏Android的键盘?
- 在微型计算机中 集成在微处理,在微型计算机中,微处理器的主要功能是进行什么...
- Bootstrap的160个小图标和使用
- python无限制邮件群发软件_有哪些逆天的邮件群发软件推荐?
- 北京链家网租房信息的数据分析项目实战
- 给技术经理找了几款Docker开源镜像仓库,为什么经理选中了Sonatype Nexus(下)
- python画立体爱心_Python画3D心形
热门文章
- Python爬虫知识点四--scrapy框架
- ubuntu-Linux系统读取USB摄像头数据(uvc)
- VS2013开发Windows服务项目
- 怎么提高Mysql执行sql导入的速度
- 编译器之后端原理(三十六)
- sshd启动报错解决:sshd re-exec requires execution with an absolute path
- Android USB Audio accessory设备
- Android Studio NDK报错:mips64el-linux-android-strip 找不到
- Go实现 爬虫v0.2
- 计算机基础(一):ION IOMMU 内存申请