oracle中 判断语句结果类型很多,能否用oracle循环语句句实现。

试图处理的数值可以是数据库Φ表的某一列,DECODE函数将该数值与后面的一系列的偶序相比较以决定返回值。

是一组成序偶的数值如果输入数值与之匹配成功,则相应嘚结果将被返回对应一个空的返回值,可以使用关键字NULL于之对应

是一组成序偶的结果值

未能与任何一个值匹配时,函数返回的默认值



  

本人比较喜欢这种,因为有时候判断的内容比较长CASE WHEN的结构更加清晰。





  

在存储过程中使用的最多的是IF判断语句

在Oracle中,IF语句分为三种形式:



  

还可以加上begin....end本情况只适用于if 嵌套情况,如



版权声明:本文为博主原创文章未经博主允许不得转载。 /paul/article/details/


逐行处理查询结果以编程的方式访问数据

1、隐式游标:在 PL/SQL 程序中执行DML SQL 语句时自动创建隐式游标,名字固定叫sql

2、显式游标:显式游标用于处理返回多行的查询。

3、REF 游标:REF 游标用于处理运行时才能确定的动态 SQL 查询的结果

在PL/SQL中使用DML语句时自动创建隐式游标隐式游标自动声明、打开和关闭,其名为 SQL通过检查隐式游标的属性可以获得最近执行的 DML 语句的信息,隐式游标的属性有: %FOUND – SQL 语呴影响了一行或多行时为 TRUE%NOTFOUND – SQL 语句没有影响任何行时为TRUE,%ROWCOUNT – SQL 语句影响的行数%ISOPEN - 游标是否打开,始终为FALSE


sqlserver与oracle的不同之处在于: 最后sqlserver会deallocate 丢弃游标而oracle只有前面四步: 声明游标、打开游标、使用游标读取记录、关闭游标。

sno := &请输入学号; --要求从客户端输入参数值"&"相当于占位符; 再从address中,将zz字段的数值取出来对应的插入到 即:得到的结果:student表中,是:

REF游标也叫动态游标:

qREF 游标和游标变量用于处理运行时动态执行的 SQL 查询 q創建游标变量需要两个步骤: q声明 REF 游标类型 q声明 REF 游标类型的变量 q用于声明 REF 游标类型的语法为:

对应于每一个学生求出他的总的选课记录,把每个学生的选课记录插入到student2表中 即,student2中的结果如下:

如果用处不在这那请问用在哪?谢谢各位大虾帮我这个小虾米!呵呵

还真看不出这样的用法有什么优点。

不过如果是“可重复读”事务隔离级,这样用可以起到鎖定表tablename中已有数据的作用。这是我仅能想到的

如果用处不在这,那请问用在哪谢谢各位大虾帮我这个小虾米!呵呵。

没什么好大的效率 跟正常的没什么区别

如果用处不在这那请问用在哪?谢谢各位大虾帮我这个小虾米!呵呵

还可以这样用 长见识了

我也是才知道有这個用法,而且语法也是没问题的名字听起来也不错(Insert使用子查询。。)可就是不清楚这样写的好处在哪或者是要用到哪里?

还有4樓的哥们能不能说的稍微清楚一点,有点不是很懂!呵呵!

老实说一开始老是以为是有问题的仔细一看,貌似还是有问题……

匿名用户鈈能发表回复!

我要回帖

更多关于 oracle循环语句 的文章

 

随机推荐