zoukankan      html  css  js  c++  java
  • ORACLE 學習筆記

    proc 里的 commit等于提交
    就是你做了insert或者update后,commit后才是真正修改或者插入了数据库中

    如果不提交的话,那么这个表就被锁了


    CURSOR MYCURSOR is  --定義游標
    SELECT A.APPLYKIND_NO,A.FAC_NO,A.BUILDING_NO,A.DEPTKIND_NO,A.DUTYRANK_NO,A.APPROVAL_SORT,A.APPROVALRANK_NO,
    A.APPDEPT_NO,A.APPROVAL_TYPE,NVL(A.APPROVAL_MK,'N') APPROVAL_MK
    FROM APPROVALSET_DUTY A
    WHERE A.APPLYKIND_NO=VAPPLYKIND_NO
    AND A.FAC_NO=VFAC
    AND A.BUILDING_NO=NVL(VBUILDING,'A')
    AND A.DEPTKIND_NO=(SELECT DEPTKIND_NO FROM APPDEPT WHERE APPDEPT_NO=VAPPDEPT_NO)
    AND A.DUTYRANK_NO=VDUTYRANK_NO;
    BEGIN
    VFAC:=VFAC_NO;

    if VFAC_NO='HR' THEN
    VFAC:='311';
    END IF;
    IF VFAC_NO='HGHR' THEN
    VFAC:='346';
    END IF;

    OPEN MYCURSOR; 開啟游標
    LOOP --循环开始标志

    --

    FETCH MYCURSOR into VVAPPLYKIND_NO,VVFAC_NO,VVBUILDING_NO,VVDEPTKIND_NO,VVDUTYRANK_NO,
    VVAPPROVAL_SORT,VVAPPROVALRANK_NO,VVAPPDEPT_NO,VVAPPROVAL_TYPE,VVAPPROVAL_MK;

    3、属性

    3.1、%ISOPEN    判断游标是否被打开,若打开,则%ISOPEN等于TRUE;否则等于FALSE。

    3.2、%FOUND    判断游标所在行是否有效。若有效,则%FOUND等于TRUE;否则等于FALSE。

    3.3、%NOTFOUND   与%FOUND相似,功能相反。

    3.4、%ROWCOUNT  返回到当前位置为止,游标所读取的记录行数。


    EXIT WHEN MYCURSOR%NOTFOUND; 
    -- DBMS_OUTPUT.PUT_LINE('aa'||'..'||'aa');--測試用
    DELETE FROM APPROVAL_SET WHERE APPLY_NO=VAPPLY_NO AND APPDEPT_SORT=VVAPPROVAL_SORT;
    DELETE FROM APPLY WHERE APPLY_NO=VAPPLY_NO ;

    IF VVAPPROVAL_MK='Y' THEN
    VAPPDEPT:=VAPPDEPT_NO;
    ELSE
    VAPPDEPT:= VVAPPDEPT_NO;
    END IF;

    INSERT INTO APPROVAL_SET(APPLY_NO,APPDEPT_SORT,APPLYKIND_NO,APPROVALRANK_NO,FAC_NO,APPDEPT_NO,APPROVAL_MK,APPROVAL_TYPE)
    VALUES(VAPPLY_NO,VVAPPROVAL_SORT,VVAPPLYKIND_NO,VVAPPROVALRANK_NO,VVFAC_NO,VAPPDEPT,VVAPPROVAL_MK,VVAPPROVAL_TYPE);

    INSERT INTO APPLY(APPLY_NO,APPLY_CONTENT,APPLY_DATE,FAC_NO,SEC_NO,APPLYDEPT_NO,APPLYKIND_NO,DUTYRANK_NO,APPLYUSER_NO,APPROVALFINISH_MK)
    VALUES(VAPPLY_NO,VVFAC_NO||VSEC_NO||VAPPDEPT,VAPPLY_DATE,VVFAC_NO,VSEC_NO,VAPPDEPT,VVAPPLYKIND_NO,VDUTYRANK_NO,VAPPLYUSER_NO,'N');
    COMMIT;

    END LOOP;
    CLOSE MYCURSOR;
    COMMIT;
    end;

  • 相关阅读:
    hdu 5646 DZY Loves Partition
    bzoj 1001 狼抓兔子 平面图最小割
    poj 1815 Friendship 最小割 拆点 输出字典序
    spoj 1693 Coconuts 最小割 二者取其一式
    hdu 5643 King's Game 约瑟夫环变形
    约瑟夫环问题
    hdu 5642 King's Order
    CodeForces 631C Report
    1039: C语言程序设计教程(第三版)课后习题9.4
    1043: C语言程序设计教程(第三版)课后习题10.1
  • 原文地址:https://www.cnblogs.com/buy0769/p/4182527.html
Copyright © 2011-2022 走看看