我们在Oracle存储过程中需要遍历一张表,应该怎样做。我想大多少的人第一个念头就是Cursor。

  比如:

  create or replace procedure StudyCursor(

  resulst out integer

  ) is

  v_tablename varchar(30);

  v_tabletype varchar(11);

  cursor mycursor is select * from cat;

  begin

  open mycursor;

  loop

  fetch mycursor into v_tablename,v_tabletype;

  null; --you can use tablename and v_tabletype

  end loop;

  close mycursor;

  end StudyCursor;

  最近在看代码是,发现其实我们还有一个更方便的方法就是使用for in loop … end loop

  create or replace procedure StudyFor(

  resulst out integer

  ) is

  begin

  for emm in(select * from cat) loop

  null; --you can use emm.table_name and emm.table_type

  end loop;

  return ;

  end StudyFor;

  是不是更方便,我要使用的查询结果,只需使用emm.table_name和emm.table_type即可。

  查找了Oracle的官方文档,似乎没有看见for loop的此种用法。确实很奇妙,只是不知道oracle内部具体的实现方法。

oracle for loop的更多相关文章

  1. oracle的loop

    oracle的loop等循环语句的几个用法小例子 --loop循环用法 (输出1到10) ) :; begin loop v_num :; ; --上面退出循环也可以用下面3行 /* if(v_num ...

  2. oracle for loop循环以及游标循环

    1. for in loop形式 DECLARE    CURSOR c_sal IS SELECT employee_id, first_name || last_name ename, salar ...

  3. oracle的loop等循环语句的几个用法小例子

    --loop循环用法 (输出1到10) declare v_num number(2) := 0; begin loop v_num := v_num + 1; exit when v_num > ...

  4. oracle的loop等循环语句的几个用法小例子[转]

    --loop循环用法 (输出1到10) declare v_num number(2) := 0; begin loop v_num := v_num + 1; exit when v_num > ...

  5. oracle for loop 简单

    declare i NUMBER; begin loop INSERT INTO emp VALUES(i,i); end LOOP; END;

  6. oracle中的loop与while循环

    Oracle中loop语句会先执行一次循环,然后再判断“exit when”关键字后面的条件表达式的值是true还是false,如果是true,那么将退出循环,否则继续循环. LOOP循环 语法如下l ...

  7. Oracle中三种循环(For、While、Loop)

    1.ORACLE中的GOTO用法 DECLARE x number; BEGIN x := 9; <<repeat_loop>> --循环点 x := x - 1; DBMS_ ...

  8. Oracle中四种循环(GOTO、For、While、Loop)

    DECLARE x number; BEGIN x:=9; <<repeat_loop>> --循环点 x:=x-1; DBMS_OUTPUT.PUT_LINE(X); IF ...

  9. Oracle中三种循环(For、While、Loop)案例

    1.ORACLE中的FOR循环用法(九九乘法表) declare i ; j ; begin .. loop ..i loop Dbms_Output.put(i||'*'||j||'='||i*j) ...

随机推荐

  1. Linux的磁盘分区

    大于2T分区 Linux-GCAPP1:/ # parted /dev/sdb GNU Parted 2.3 Using /dev/sdb Welcome to GNU Parted! Type 'h ...

  2. 牛客多校第五场G

    subsequence 1 只要处理长度等于t的. 转移方程没想出来QAQ $dp(i,j,0)$代表到$s[i]$为止有多少个前缀序列与$t[0\cdots j]$相同 所以有$dp(i,j,0)= ...

  3. servlet技术之下载文件演示(DownloadServlet.class)

    servlet技术之下载文件演示(DownloadServlet.class) 文件是指把服务器端文件发送到客户端,Servlet能够向客户端发送任意格式的文件数据,例程的DownloadServle ...

  4. 表单input中disabled提交后得不到值的解决办法

    input的字段当为diabled时时无法获取数值得,所以最近不要用这个,我们可以用readonly带替代,即可解决这类问题.  

  5. php面试专题---22、网站优化 总结

    php面试专题---22.网站优化 总结 一.总结 一句话总结: 主要从前端.后端.数据库.资源四个方面开始发散 前端浏览器缓存和数据压缩前端优化(减少HTTP请求次数) 资源流量优化(防盗链处理)C ...

  6. 移动端调试 — Pure|微信环境调试方案|App环境调试方案

    Pure 详细参见: 中文文档:http://leeluolee.github.io/2014/10/24/use-puer-helpus-developer-frontend/ 源码:https:/ ...

  7. random、os、时间模块

    一.random 模块 1.随机小数 random.random()   #产生大于0且小于1之间的小数 random.uniform(1,3)   #产生1到3之间的随机小数 2.随机整数 rand ...

  8. crazyflie四轴飞行器

    源地址:http://www.bitcraze.se/2013/02/pre-order-has-started/ Crazyflie是一个开源的纳米四旋翼 来几张靓照 开发平台是开源的,所以原理图和 ...

  9. 123、TensorFlow的Job

    # 如果你在分布式环境中部署TensorFlow # 你或许需要指定job name和task ID # 来将变量放置在参数服务器上 # 将操作放在worker job import tensorfl ...

  10. day23—JavaScript实现DIV盒子拖拽(原生方式)

    转行学开发,代码100天——2018-04-08 <!doctype html> <html> <head> <meta charset="utf- ...