Create or replace PROCEDURE upauditdata
as
begin
declare @str varchar2(10);
declare @wbid varchar2(50);
     select @str= STATUS_CODE,@wbid=WB_ID from hmsp_wb
    case @str
         begin 
               when 'WOREQ'
               then 
                    begin
                    update hmsp_wb set AUDIT_STATUS_CODE='WOREQ',AUDIT_STATUS_NAME='申请' where WB_ID=@wbid
                    end
               when 'WOAPPR'
               then
                   begin
                        update hmsp_wb set AUDIT_STATUS_CODE='WOREQ',AUDIT_STATUS_NAME='申请' where WB_ID=@wbid
                   end
               when 'WODSTB'
               then 
                    begin
                         update hmsp_wb set AUDIT_STATUS_CODE='WOAPPR',AUDIT_STATUS_NAME='审批' where WB_ID=@wbid
                    end
                when 'PREP'
                then
                    begin
                         update hmsp_wb set AUDIT_STATUS_CODE='WODSTB',AUDIT_STATUS_NAME='分票' where WB_ID=@wbid
                    end
                 when 'CHK'
                 then
                     begin
                          update hmsp_wb set AUDIT_STATUS_CODE='PREP',AUDIT_STATUS_NAME='准备' where WB_ID=@wbid
                     end
                 when 'WPREQ'
                 then
                     begin
                       update hmsp_wb set AUDIT_STATUS_CODE='CHK',AUDIT_STATUS_NAME='校核' where WB_ID=@wbid   
                     end
                  when 'REPTCOM'
                  then 
                       begin
                            update hmsp_wb set AUDIT_STATUS_CODE='WPREQ',AUDIT_STATUS_NAME='申请开工' where WB_ID=@wbid   
                       end
                   when 'CHOSE'
                   then
                       begin
                             update hmsp_wb set AUDIT_STATUS_CODE='REPTCOM',AUDIT_STATUS_NAME='完工报告' where WB_ID=@wbid
                       end 
                       
                     ELSE
                         begin
                              update hmsp_wb set AUDIT_STATUS_CODE='COMP',AUDIT_STATUS_NAME='关闭' where WB_ID=@wbid
                         end
         end
endexec upauditdata

解决方案 »

  1.   

    请楼上的指教下;我平时都是用SQL,
      

  2.   

    我记得应该是
      Create or replace PROCEDURE upauditdata 
    is 
      

  3.   

       好像就是MS-SQL!
      

  4.   

    @这个东西好像是sqlserver的。。
      

  5.   

    CREATE OR REPLACE PROCEDURE upauditdata
    AS
       str    VARCHAR2 (10);
       wbid   VARCHAR2 (50);
    BEGIN
       SELECT status_code, wb_id
         INTO str, wbid
         FROM hmsp_wb;   IF str = 'WOREQ'
       THEN
          BEGIN
             UPDATE hmsp_wb
                SET audit_status_code = 'WOREQ',
                    audit_status_name = '申请'
              WHERE wb_id = wbid;
          END;
       ELSIF str = 'WOAPPR'
       THEN
          BEGIN
             UPDATE hmsp_wb
                SET audit_status_code = 'WOREQ',
                    audit_status_name = '申请'
              WHERE wb_id = wbid;
          END;
       ELSIF str = 'WODSTB'
       THEN
          BEGIN
             UPDATE hmsp_wb
                SET audit_status_code = 'WOAPPR',
                    audit_status_name = '审批'
              WHERE wb_id = wbid;
          END;
       ELSIF str = 'PREP'
       THEN
          BEGIN
             UPDATE hmsp_wb
                SET audit_status_code = 'WODSTB',
                    audit_status_name = '分票'
              WHERE wb_id = wbid;
          END;
       ELSIF str = 'CHK'
       THEN
          BEGIN
             UPDATE hmsp_wb
                SET audit_status_code = 'PREP',
                    audit_status_name = '准备'
              WHERE wb_id = wbid;
          END;
       ELSIF str = 'WPREQ'
       THEN
          BEGIN
             UPDATE hmsp_wb
                SET audit_status_code = 'CHK',
                    audit_status_name = '校核'
              WHERE wb_id = wbid;
          END;
       ELSIF str = 'REPTCOM'
       THEN
          BEGIN
             UPDATE hmsp_wb
                SET audit_status_code = 'WPREQ',
                    audit_status_name = '申请开工'
              WHERE wb_id = wbid;
          END;
       ELSIF str = 'CHOSE'
       THEN
          BEGIN
             UPDATE hmsp_wb
                SET audit_status_code = 'REPTCOM',
                    audit_status_name = '完工报告'
              WHERE wb_id = wbid;
          END;
       ELSE
          BEGIN
             UPDATE hmsp_wb
                SET audit_status_code = 'COMP',
                    audit_status_name = '关闭'
              WHERE wb_id = wbid;
          END;
       END IF;
    END;