摘要: For 变量 in 循环开始的值 .. 循环结束的值(小于该值)Loop--做处理的语句End Loop例子:---循环找出供应商 for i in 0 .. vendor_Total loop -- i 和vendor_Total 在存储过程头部定义,vendor_Total 在循环之前已经赋值 if i = vendor_Total then str_vendor := substr(str_vendors, 0, length(str_vendors)); str_VASSIGN := substr(str_VASSIGNs, 0, le... 阅读全文
posted @ 2011-10-08 14:44 windback 阅读(4902) 评论(0) 推荐(0)
摘要: 1、存储过程的在头里面分别定义两个游标,在循环体内执行的游标用变量传参数进去 格式如下CURSOR 游标名(变量名 类型 ) is 语句2、在存储过程体里面嵌套遍历两游标即可,跟C#的for循环一样的原理。例子如下create or replace procedure PriceManager_VassignImport(formKind_in in varchar2, createuser_in in varchar2) isr_vendorvassignbatch vendorvassignbatch%ROWTYPE;r_VASSIG... 阅读全文
posted @ 2011-10-08 14:35 windback 阅读(941) 评论(0) 推荐(0)
摘要: 一、Open 游标变量 Loop Fetch 游标变量Into 行变量; Exit When (游标变量 %NOFOUND) --做处理的语句 End Loop;二、For 行变量 in 游标变量 Loop --处理的语句 End Loop【分析】两种方法都能正确遍历所有查询到的记录,不过有小小的区别。方法一遍历完数据之后还会进去循环体一次, 例如当查询到的记录数量是2的时候,会执行3次做处理的语句。方法二则不会。 阅读全文
posted @ 2011-10-08 14:26 windback 阅读(570) 评论(0) 推荐(0)