CREATE OR REPLACE PROCEDURE SP_APPROVALSET_OVERTIME(VAPPLY_NO varchar2,
VAPPLYKIND_NO varchar2,VFAC_NO varchar2,VAPPDEPT_NO varchar2
,VDUTYRANK_NO varchar2,VBUILDING varchar2, VSEC_NO varchar2,VAPPLY_DATE varchar2
,VAPPLYUSER_NO varchar2,VEXCEPTION_MK varchar2 )
AS
VVAPPLYKIND_NO varchar2(2);
VVFAC_NO varchar2(4) ;
VVBUILDING_NO varchar2(3) ;
VVDEPTKIND_NO varchar2(5);
VVDUTYRANK_NO varchar2(1);
VVAPPROVAL_SORT NUMBER;
VVAPPROVALRANK_NO varchar2(2);
VVAPPDEPT_NO varchar2(20);
VVAPPROVAL_TYPE varchar2(1);
VVAPPROVAL_MK varchar2(1);
VAPPDEPT varchar2(5);

CURSOR MYCURSOR is
SELECT A.APPLYKIND_NO,A.FAC_NO,A.BUILDING_NO,A.DEPTKIND_NO,D.APPROVAL_SORT,D.APPDEPT_NO,
D.APPROVAL_TYPE,D.APPROVAL_MK,D.APPROVALRANK_NO
FROM APPROVALSET_MASTER A,APPROVALSET_DETAIL D
WHERE A.APPLYKIND_NO=VAPPLYKIND_NO
AND A.FAC_NO=VFAC_NO
AND A.BUILDING_NO=VBUILDING
AND A.EXCEPTION_MK=VEXCEPTION_MK
AND A.DEPTKIND_NO=(SELECT DEPTKIND_NO FROM APPDEPT WHERE APPDEPT_NO=VAPPDEPT_NO AND FAC_NO=VFAC_NO)
--AND A.DUTYRANK_NO=''
AND A.APPLYKIND_NO=D.APPLYKIND_NO
AND A.FAC_NO=D.FAC_NO
AND A.BUILDING_NO=D.BUILDING_NO
AND A.DEPTKIND_NO=D.DEPTKIND_NO
AND A.EXCEPTION_MK=D.EXCEPTION_MK;
BEGIN
OPEN MYCURSOR;
LOOP
FETCH MYCURSOR into VVAPPLYKIND_NO,VVFAC_NO,VVBUILDING_NO,VVDEPTKIND_NO,--@DUTYRANK_NO,
VVAPPROVAL_SORT,VVAPPDEPT_NO,VVAPPROVAL_TYPE,VVAPPROVAL_MK,VVAPPROVALRANK_NO;
EXIT WHEN MYCURSOR%NOTFOUND;
DELETE FROM APPROVAL_SET WHERE APPLY_NO=VAPPLY_NO AND APPDEPT_SORT=VVAPPROVAL_SORT;
DELETE FROM APPLY WHERE APPLY_NO=VAPPLY_NO ;
COMMIT;
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);
COMMIT;
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;

SP_APPROVALSET_OVERTIME 插入單據的更多相关文章

  1. Scrapy——將數據保存到MySQL數據庫

    Scrapy--將數據保存到MySQL數據庫 1. 在MySQL中創建數據庫表job_inf: 1 Create table job_inf( 2 id int(11) not null auto_i ...

  2. k3 Bos开发百问百答

              K/3 BOS开发百问百答   (版本:V1.1)           K3产品市场部       目录 一.基础资料篇__ 1 [摘要]bos基础资料的显示问题_ 1 [摘要]单 ...

  3. nodejs连接数据库的增删改查

    连接数据库后需要用代码操作的是,传入mysql语句,和参数,然后就是回调了 新增 // 新增 app.post('/process_post', urlencodedParser, function ...

  4. SQLServer地址搜索性能优化例子

    这是一个很久以前的例子,现在在整理资料时无意发现,就拿出来再改写分享. 1.需求 1.1 基本需求: 根据输入的地址关键字,搜索出完整的地址路径,耗时要控制在几十毫秒内. 1.2 数据库地址表结构和数 ...

  5. SQLAlchemy 一对多

    下述範例描述了電影同導演的多對一關係.範例中說明了從用戶定義的Python類建立數據表的方法,雙方關係例項的建立方法,以及最終查詢數據的方法:包括延遲載入和預先載入兩種自動生成的SQL查詢. 結構定義 ...

  6. 关押罪犯(2010年NOIP全国联赛提高组)

    题目描述 Description S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极 不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用&qu ...

  7. SQLServer 分组查询相邻两条记录的时间差

    原文:SQLServer 分组查询相邻两条记录的时间差 首先,我们通过数据库中表的两条记录来引出问题,如下图 以上为一个记录操作记录的表数据.OrderID为自增长列,后面依次为操作类型,操作时间,操 ...

  8. XML系列之--Linq操作带属性的XML(四)

    关于XML,之前解析过电文收发方面的,就是所谓的带表头.前缀(命名空间)SOAP格式.这次需求是解析一个xml的模板(xls内容),然后填充数据,最后保存.需要时可转换xls.pdf等文件.关于这种带 ...

  9. SQL Server監控与診斷

    僅為記錄工作中遇到的問題. 1. 字符串截斷: SQL server里很多job用於運行DTS,經常會收到系統出錯警報,如: ...String ) The statement has been te ...

随机推荐

  1. 单链表在不知头结点的情况下对第i个元素的删除

    一.首先,看看单链表中第i个元素的删除: Status ListDelete_L (LinkList &L,int i,ElemType &e){ //在带头结点的单链表L中,删除第i ...

  2. Redis的主从同步复制

    先来看一下Redis的主从同步复制的原理: 在Slave启动并连接到Master之后,它将主动发送一条SYNC命令.此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台 ...

  3. 一步步编写avalon组件02:分页组件

    本章节,我们做分页组件,这是一个非常常用的组件.grid, listview都离不开它.因此其各种形态也有. 本章节教授的是一个比较纯正的形态,bootstrap风格的那种分页栏. 我们建立一个ms- ...

  4. VS&SQL StartUp Crash - CLR20R3

    VS2013和SQL Management Studio 在启动时直接崩溃,错误提示CLR20R3,问题签名4是windowsbase, 这说明是操作系统的问题导致启动崩溃,在网上找到一些解决方案: ...

  5. C#去掉list集合中的重复数据

    List<string> conList= new List<string>(); List<string> listII = new List<string ...

  6. Razor引擎中的_ViewStart.cshtml

    Startup Code是在所有View执行之前加载和执行的代码. 在Razor引擎中的_ViewStart.cshtml 就是装载这些“预执行代码”的文件,它有两个特点: 一.就是所有View执行之 ...

  7. Ruby-Array数组

    1.创建数组 a=Array.new(6,obj=nil)  #=> [nil, nil, nil, nil, nil, nil] 设置默认值 a=Array.new(6)           ...

  8. webstorm下搭建编译less环境

    webstorm自带less,不过要编译的话需要nodejs环境. 首先去node的主页下载对应版本的nodejs然后安装,下载地址:http://nodejs.org/ 安装完之后打开命令提示符(w ...

  9. delphi对象赋值

     Delphi的对象之间赋值主要要注意几个方面的问题:   1.对象之间的 :=赋值只是地址赋值,即是将当前对象的地址赋值到变量中,定义的变量可以是不用初始化的,在内存中两个变量指向的是同一地址空间: ...

  10. 设置input 内容居中显示 .

    text-align:center  水平居中显示 <style type="text/css"> input.text{text-align:center;paddi ...