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相关推荐

  1. 静态SQL和动态SQL

    引言 SQL 语言作为标准的查询语言,几乎被所有的数据库管理系统 (DBMS) 所支持,并成为国际标准.标准的 SQL 语言一般包括三类,即 DDL (Data Definition Language ...

  2. oracle 拼接sql 日期,动态SQL对日期处理注意事项

    如果一定要是动态SQL,一定要将日期类型用||拼起来,见下列写法,红色的是错的,下面的才对,两次类型转换,但是没有什么必要 --要么用绑定变量绑定date类型,要么静态sql,不要两次转换,直接拼日期 ...

  3. oracle 带有变量的语句_Oracle 动态SQL语句(2)之含变量的WHERE语句与日期变量

    在 Oracle 动态SQL语句(1)中提到基本动态SQL语句书写,但在写动态SQL语句时特别要注意日期型变量和WHERE语句的编写. 如下代码: 1.注意在执行动态SQL语句时,execute im ...

  4. Oracle 存储过程,Hibernate 调用存储过程,JDBC调用存储过程,Oracle 动态SQL

    Oracle 存储过程学习 目录 Oracle 存储过程........................................................................ ...

  5. Oracle数据库 动态SQL

    文章目录 一.什么是动态SQL 二.动态SQL的作用 三.动态SQL语句的五种实现方法 四.动态SQL的语法结构 五.动态SQL的写法 写法1:不传参不赋值 写法2:将结果集存在变量中动态运行 写法3 ...

  6. Oracle 动态SQL语句

    Oracle 动态SQL语句     EXECUTE IMMEDIATE代替了以前Oracle8i中DBMS_SQLpackage包.  它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块 ...

  7. Oracle PL/SQL进阶编程(第十五弹:动态SQL语句)

    理解动态SQL语句 动态SQL语句基础 动态SQL语句不仅是指SQL语句是动态拼接而成的,更主要的是SQL语句所使用的对象也是运行时期才创建的.出现这种功能跟PL/SQL本身的早起绑定特性有关,早PL ...

  8. Oracle基础 动态SQL语句

    一.静态SQL和动态SQL的概念. 1.静态SQL 静态SQL是我们常用的使用SQL语句的方式,就是编写PL/SQL时,SQL语句已经编写好了.因为静态SQL是在编写程序时就确定了,我们只能使用SQL ...

  9. 使用Oracle的DBMS_SQL包执行动态SQL语句

    引用自:http://blog.csdn.net/ggjjzhzz/archive/2005/10/17/507880.aspx 在某些场合下,存储过程或触发器里的SQL语句需要动态生成.Oracle ...

最新文章

  1. 了解下SOAP Envelope 元素
  2. 微服务网关从零搭建——(三)Ocelot网关 + identity4
  3. 数据中心基础设施及日常运维管理
  4. 要选择做有价值的事情
  5. [luoguP4705]玩游戏
  6. 碰撞的小球 ccf (模拟)
  7. 【渝粤教育】国家开放大学2018年春季 0149-22T现代汉语 参考试题
  8. 移动端上传照片 预览+Draw on Canvas's Demo(解决 iOS 等设备照片旋转 90 度的 bug)...
  9. 微软直播马上开始,近百岗位等你来,快戳进直播间
  10. Java魔法堂:注解用法详解——@SuppressWarnings(转)
  11. Angular使用ng build打包报错 Property 'setControl' does not exist on type 'AbstractControl'.解决方法
  12. 用pcl读ply文件_一分钟详解PCL中点云配准技术
  13. k8s踩坑记第2篇--3个IP折磨人的故事
  14. RF+ Appium,如何隐藏Android的键盘?
  15. 在微型计算机中 集成在微处理,在微型计算机中,微处理器的主要功能是进行什么...
  16. Bootstrap的160个小图标和使用
  17. python无限制邮件群发软件_有哪些逆天的邮件群发软件推荐?
  18. 北京链家网租房信息的数据分析项目实战
  19. 给技术经理找了几款Docker开源镜像仓库,为什么经理选中了Sonatype Nexus(下)
  20. python画立体爱心_Python画3D心形

热门文章

  1. Python爬虫知识点四--scrapy框架
  2. ubuntu-Linux系统读取USB摄像头数据(uvc)
  3. VS2013开发Windows服务项目
  4. 怎么提高Mysql执行sql导入的速度
  5. 编译器之后端原理(三十六)
  6. sshd启动报错解决:sshd re-exec requires execution with an absolute path
  7. Android USB Audio accessory设备
  8. Android Studio NDK报错:mips64el-linux-android-strip 找不到
  9. Go实现 爬虫v0.2
  10. 计算机基础(一):ION IOMMU 内存申请