Oracle 游标的例子(待完善)
2007-09-17 20:25
274 查看
Create or replace procedure SRS_DELI_CREDENCE_EX2_COPY
(
ZH_MARK_DIV IN Varchar2
)
is
v_v01 SRS_B_SALES_AMOUNT.SITE_CD%TYPE;
v_v02 SRS_B_SALES_AMOUNT.SAL_SLIP_NO%TYPE;
v_v03 SRS_B_SALES_AMOUNT.FROM_TYP%TYPE;
v_v04 SRS_B_SALES_AMOUNT.DELI_INST_NO%TYPE;
v_v05 SRS_B_SALES_AMOUNT.ORD_NO%TYPE;
v_v06 SRS_B_SALES_AMOUNT.ORD_LINE_NO%TYPE;
v_v07 SRS_B_SALES_AMOUNT.CUS_CD%TYPE;
v_v08 SRS_B_SALES_AMOUNT.INVOICE_NO%TYPE;
v_v09 SRS_B_SALES_AMOUNT.INVOICE_DATE%TYPE;
v_v10 SRS_B_SALES_AMOUNT.MARK_DIV%TYPE;
v_v11 SRS_B_SALES_AMOUNT.PRODUCT_GRP_CD%TYPE;
v_v12 SRS_B_SALES_AMOUNT.SALES_ITEM_CD%TYPE;
v_v13 SRS_B_SALES_AMOUNT.STOCK_ITEM_CD%TYPE;
v_v14 SRS_B_SALES_AMOUNT.DELI_QTY%TYPE;
v_v15 SRS_B_SALES_AMOUNT.UNIT_PRICE%TYPE;
v_v16 SRS_B_SALES_AMOUNT.SAL_AMOUNT%TYPE;
v_v17 SRS_B_SALES_AMOUNT.EXCH_RATE%TYPE;
v_v18 SRS_B_SALES_AMOUNT.TAX_CD%TYPE;
v_v19 SRS_B_SALES_AMOUNT.CUR_CD%TYPE;
v_v20 SRS_B_SALES_AMOUNT.DELI_DATE%TYPE;
v_v21 SRS_B_SALES_AMOUNT.CAN_TAKE_FLG%TYPE;
v_v22 SRS_B_SALES_AMOUNT.IS_TAKE_FLG%TYPE;
v_v23 SRS_B_SALES_AMOUNT.SAL_DATE%TYPE;
v_v24 SRS_B_SALES_AMOUNT.OLD_SAL_SLIP_NO%TYPE;
v_temp SRS_B_SALES_AMOUNT.SAL_SLIP_NO%TYPE;
cursor mycursor1 is
select SAL_SLIP_NO from SRS_B_SALES_AMOUNT where IS_TAKE_FLG='0' and CAN_TAKE_FLG='1';
begin
delete from SRS_T_SALES_AMOUNT;
open mycursor1;
loop
fetch mycursor1 into v_temp;
exit when mycursor1%notfound;
select SITE_CD,
SAL_SLIP_NO,
FROM_TYP,
DELI_INST_NO,
ORD_NO,
ORD_LINE_NO,
CUS_CD,
INVOICE_NO,
INVOICE_DATE,
MARK_DIV,
PRODUCT_GRP_CD,
SALES_ITEM_CD,
STOCK_ITEM_CD,
DELI_QTY,
UNIT_PRICE,
SAL_AMOUNT,
EXCH_RATE,
TAX_CD,
CUR_CD,
DELI_DATE,
CAN_TAKE_FLG,
IS_TAKE_FLG,
SAL_DATE,
OLD_SAL_SLIP_NO
Into
v_v01,
v_v02,
v_v03,
v_v04,
v_v05,
v_v06,
v_v07,
v_v08,
v_v09,
v_v10,
v_v11,
v_v12,
v_v13,
v_v14,
v_v15,
v_v16,
v_v17,
v_v18,
v_v19,
v_v20,
v_v21,
v_v22,
v_v23,
v_v24
from SRS_B_SALES_AMOUNT
where SRS_B_SALES_AMOUNT.SAL_SLIP_NO = v_temp;
insert into SRS_T_SALES_AMOUNT(
SITE_CD,
SAL_SLIP_NO,
FROM_TYP,
DELI_INST_NO,
ORD_NO,
ORD_LINE_NO,
CUS_CD,
INVOICE_NO,
INVOICE_DATE,
MARK_DIV,
PRODUCT_GRP_CD,
SALES_ITEM_CD,
STOCK_ITEM_CD,
DELI_QTY,
UNIT_PRICE,
SAL_AMOUNT,
EXCH_RATE,
TAX_CD,
CUR_CD,
DELI_DATE,
CAN_TAKE_FLG,
IS_TAKE_FLG,
SAL_DATE,
OLD_SAL_SLIP_NO)
values(
v_v01,
v_v02,
v_v03,
v_v04,
v_v05,
v_v06,
v_v07,
v_v08,
v_v09,
v_v10,
v_v11,
v_v12,
v_v13,
v_v14,
v_v15,
v_v16,
v_v17,
v_v18,
v_v19,
v_v20,
v_v21,
v_v22,
v_v23,
v_v24);
end loop;
close mycursor1;
commit;
end;
(
ZH_MARK_DIV IN Varchar2
)
is
v_v01 SRS_B_SALES_AMOUNT.SITE_CD%TYPE;
v_v02 SRS_B_SALES_AMOUNT.SAL_SLIP_NO%TYPE;
v_v03 SRS_B_SALES_AMOUNT.FROM_TYP%TYPE;
v_v04 SRS_B_SALES_AMOUNT.DELI_INST_NO%TYPE;
v_v05 SRS_B_SALES_AMOUNT.ORD_NO%TYPE;
v_v06 SRS_B_SALES_AMOUNT.ORD_LINE_NO%TYPE;
v_v07 SRS_B_SALES_AMOUNT.CUS_CD%TYPE;
v_v08 SRS_B_SALES_AMOUNT.INVOICE_NO%TYPE;
v_v09 SRS_B_SALES_AMOUNT.INVOICE_DATE%TYPE;
v_v10 SRS_B_SALES_AMOUNT.MARK_DIV%TYPE;
v_v11 SRS_B_SALES_AMOUNT.PRODUCT_GRP_CD%TYPE;
v_v12 SRS_B_SALES_AMOUNT.SALES_ITEM_CD%TYPE;
v_v13 SRS_B_SALES_AMOUNT.STOCK_ITEM_CD%TYPE;
v_v14 SRS_B_SALES_AMOUNT.DELI_QTY%TYPE;
v_v15 SRS_B_SALES_AMOUNT.UNIT_PRICE%TYPE;
v_v16 SRS_B_SALES_AMOUNT.SAL_AMOUNT%TYPE;
v_v17 SRS_B_SALES_AMOUNT.EXCH_RATE%TYPE;
v_v18 SRS_B_SALES_AMOUNT.TAX_CD%TYPE;
v_v19 SRS_B_SALES_AMOUNT.CUR_CD%TYPE;
v_v20 SRS_B_SALES_AMOUNT.DELI_DATE%TYPE;
v_v21 SRS_B_SALES_AMOUNT.CAN_TAKE_FLG%TYPE;
v_v22 SRS_B_SALES_AMOUNT.IS_TAKE_FLG%TYPE;
v_v23 SRS_B_SALES_AMOUNT.SAL_DATE%TYPE;
v_v24 SRS_B_SALES_AMOUNT.OLD_SAL_SLIP_NO%TYPE;
v_temp SRS_B_SALES_AMOUNT.SAL_SLIP_NO%TYPE;
cursor mycursor1 is
select SAL_SLIP_NO from SRS_B_SALES_AMOUNT where IS_TAKE_FLG='0' and CAN_TAKE_FLG='1';
begin
delete from SRS_T_SALES_AMOUNT;
open mycursor1;
loop
fetch mycursor1 into v_temp;
exit when mycursor1%notfound;
select SITE_CD,
SAL_SLIP_NO,
FROM_TYP,
DELI_INST_NO,
ORD_NO,
ORD_LINE_NO,
CUS_CD,
INVOICE_NO,
INVOICE_DATE,
MARK_DIV,
PRODUCT_GRP_CD,
SALES_ITEM_CD,
STOCK_ITEM_CD,
DELI_QTY,
UNIT_PRICE,
SAL_AMOUNT,
EXCH_RATE,
TAX_CD,
CUR_CD,
DELI_DATE,
CAN_TAKE_FLG,
IS_TAKE_FLG,
SAL_DATE,
OLD_SAL_SLIP_NO
Into
v_v01,
v_v02,
v_v03,
v_v04,
v_v05,
v_v06,
v_v07,
v_v08,
v_v09,
v_v10,
v_v11,
v_v12,
v_v13,
v_v14,
v_v15,
v_v16,
v_v17,
v_v18,
v_v19,
v_v20,
v_v21,
v_v22,
v_v23,
v_v24
from SRS_B_SALES_AMOUNT
where SRS_B_SALES_AMOUNT.SAL_SLIP_NO = v_temp;
insert into SRS_T_SALES_AMOUNT(
SITE_CD,
SAL_SLIP_NO,
FROM_TYP,
DELI_INST_NO,
ORD_NO,
ORD_LINE_NO,
CUS_CD,
INVOICE_NO,
INVOICE_DATE,
MARK_DIV,
PRODUCT_GRP_CD,
SALES_ITEM_CD,
STOCK_ITEM_CD,
DELI_QTY,
UNIT_PRICE,
SAL_AMOUNT,
EXCH_RATE,
TAX_CD,
CUR_CD,
DELI_DATE,
CAN_TAKE_FLG,
IS_TAKE_FLG,
SAL_DATE,
OLD_SAL_SLIP_NO)
values(
v_v01,
v_v02,
v_v03,
v_v04,
v_v05,
v_v06,
v_v07,
v_v08,
v_v09,
v_v10,
v_v11,
v_v12,
v_v13,
v_v14,
v_v15,
v_v16,
v_v17,
v_v18,
v_v19,
v_v20,
v_v21,
v_v22,
v_v23,
v_v24);
end loop;
close mycursor1;
commit;
end;
相关文章推荐
- oracle开发中的存储过程,游标,if判断经典例子
- oracle游标的例子
- ORACLE 存储过程动态游标例子
- oracle的游标和例子!
- Oracle的几个例子(删除表,游标等)
- oracle的游标学习和例子
- oracle更新大量数据太慢,可以通过游标实现的例子
- oracle游标循环例子
- oracle中游标,函数,过程的例子
- oracle 游标 返回结果集 例子
- Oracle游标、参数的使用例子
- Oracle利用游标返回结果集的的例子(C#)
- Oracle中使用游标的两个例子
- oracle的游标和例子
- oracle开发中的存储过程,游标,if判断经典例子
- Oracle显式游标小例子
- ORACLE 游标使用的一个例子
- oracle 游标使用的一个例子
- 利用游标返回结果集的的例子(Oracle 存储过程)
- oracle 游标例子