Oracle中Using用法

1.静态SQLSQL与动态SQL

Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数的编译情况属于这种类型;另外一种是后期联编(late binding),即SQL语句只有在运行阶段才能建立,例如当查询条件为用户输入时,那么Oracle的SQL引擎就无法在编译期对该程序语句进行确定,只能在用户输入一定的查询条件后才能提交给SQL引擎进行处理。通常,静态SQL采用前一种编译方式,而动态SQL采用后一种编译方式。

本文主要就动态SQL的开发进行讨论,并在最后给出一些实际开发的技巧。

2.动态SQL程序开发

理解了动态SQL编译的原理,也就掌握了其基本的开发思想。动态SQL 既然是一种”不确定”的SQL,那其执行就有其相应的特点。Oracle中提供了Execute immediate语句来执行动态SQL,语法如下:

Excute immediate 动态SQL语句using 绑定参数列表returning into 输出参数列表;

对这一语句作如下说明:

1) 动态SQL是指DDL和不确定的DML(即带参数的DML)

2) 绑定参数列表为输入参数列表,即其类型为in类型,在运行时刻与动态SQL语句中的参数(实际上占位符,可以理解为函数里面的形式参数)进行绑定。

3) 输出参数列表为动态SQL语句执行后返回的参数列表。

4) 由于动态SQL是在运行时刻进行确定的,所以相对于静态而言,其更多的会损失一些系统性能来换取其灵活性。

为了更好的说明其开发的过程,下面列举一个实例:

设数据库的

要求:

1.创建该表并输入相应的数据。

2.根据特定ID可以查询到其姓名和薪水的信息。

3.根据大于特定的薪水的查询相应的员工信息。

根据前面的要求,可以分别创建三个过程(均使用动态SQL)来实现:

oracle中using用法,Oracle中Using用法相关推荐

  1. oracle中的exists 和 not exists 用法详解

    from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...

  2. oracle分组聚合查询,Oracle中分组查询group by用法规则解析

    本篇文章小编给大家分享一下Oracle中分组查询group by用法规则解析,文章介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. Oracle中group by ...

  3. oracle中的and用法,Oracle bitand( )函数简介

    Oracle bitand( )函数在Oracle数据库中是很常见的,下面就为您详细介绍Oracle bitand( )函数的用法,如果您感兴趣的话,不妨一看. Oracle bitand( )函数: ...

  4. oracle中的to_number,Oracle中to_number()函数的用法

    to_number()函数是oracle中常用的类型转换函数之一,是将一些处理过的按一定格式编排过的字符串变回数值型的格式. 1.to_number()函数可以将char或varchar2类型的str ...

  5. oracle 中WITH AS,oracle的with as用法

    转自:https://www.cnblogs.com/linjiqin/archive/2013/06/24/3152667.html –针对多个别名 with tmp as (select * fr ...

  6. oracle12c order by,oracle 数据库中order by 的一些高级用法

    oracle数据库中order by用法 oracle数据库中order by的一些高级用法 现有一个表,表内容如下: 以下的操作都是对该表进行的操作 1.按照名称排序(默认为升序) 实现代码: se ...

  7. oracle 数据库中order by 的一些高级用法

    oracle数据库中order by用法 oracle数据库中order by的一些高级用法 现有一个表,表内容如下: 以下的操作都是对该表进行的操作 1.按照名称排序(默认为升序) 实现代码: se ...

  8. oracle to_char函数格式,oracle 中to_char函数的用法

    一.日期格式转换 to_char(date,'格式'); select to_date('2005-01-01 ','yyyy-MM-dd') from dual; select to_char(sy ...

  9. oracle中rollback用法,Oracle中SAVEPOINT和ROLLBACK用法

    savepoint是事务内部允许部分rollback的标志符.因为事务中对记录做了修改,我们可以在事务中创建savepoint来标识不同的点.如果遇到错误,就可以rollback到不同的点或直接回来事 ...

  10. oracle模糊查询中的regexp_like嵌套子查询用法

    oracle模糊查询中的regexp_like嵌套子查询用法 regexp_like一般用于模糊查询某一列时包含多个查询条件 需求1:在用户表中查询出账号包含650000和230000的用户. sel ...

最新文章

  1. 分离内核和虚拟机支持安全的关键任务边缘计算
  2. 【跃迁之路】【731天】程序员高效学习方法论探索系列(实验阶段488-2019.2.21)...
  3. 人工智能开发语言排行榜:不死Java,不朽C/C++,新贵Python
  4. wxWidgets:调试
  5. php mysql ajax 注册验证 实例_Ajax小实例   用户注册异步验证
  6. SpringCloud工作笔记080---了解一下CXF
  7. Android阅读手札:第一行代码(第一章)
  8. 树的先序遍历递归的理解
  9. 项目部署到自己的IIS上
  10. paip.重装系统需要备份的资料总结..
  11. inPixio Photo Studio 11(图片编辑软件)官方正式版V11.0.7709.20526 | 超好用的图片编辑器
  12. CSS border设置虚线可调节虚线间距
  13. 斐讯路由怎么设置虚拟服务器,192.168.2.1斐讯路由器设置的方法?
  14. 地形图测量中的等高线裁剪方法
  15. C# graphics方法
  16. ensp中ap获取不到ip_[网络求助]华为ap无法获取到ip
  17. 鹿晗关晓彤公开恋情,是如何把微博服务器搞炸的
  18. 电子健康档案在国外的一些实践
  19. C# Word文档中插入、提取图片,文字替换图片
  20. python画统计图代码_python读取excel某列内容制作词云图并用条形图统计词频

热门文章

  1. 虚拟机安装配置Hadoop(图文教程)
  2. 一文带你了解HONOR Connect
  3. 浅谈安科瑞AMB300母线槽红外测温管理解决方案
  4. TradeX普通行情接口解析
  5. 犀牛书第2章 JavaScript词法结构
  6. Windows系统读写ext2/3/4文件系统的工具「ext2fsd」
  7. git提交代码被拒推送
  8. 空间转录组DeepST
  9. docker容器安装ping工具
  10. 浏览器exp使用经验