梦醒三分,执着疯子
没有什么不可以!

  经典SQL语句,便于记忆,仅供参考。

1、SQL查询重复记录

  Select max(id),col1,col2,COUNT(*) From Table group by col1,col2 having COUNT(*)>1

2、SQL删除重得记录,仅留一条记录

  delete from Table where ID in (Select max(id) From Table group by col1,col2)

3、SQL将一个表中数据批量插入另一个表中

  3.1 插入已存在的Table1表中 

      insert into Table1(col1,col2,col3)  select col1,col2,col3 from Table2    

  3.2 插入不存在的Table1表中  

      select col1,col2,col3 into Table1 from Table2

4、SQL从Table2表中抓取数据,批量修改Table1中数据

  update Table1 set col1 in (select col1 from Table2 where col2=Table1.col2)  where col3='条件内容'

5、SQL产生临时表,仅获取某个表的表结构  

  select * into #TempTable  FROM Table1 WHERE 1<>1

6、SQL存储过程,写过比较长的存储过程

  

  USE [Database]
  GO
  SET ANSI_NULLS ON
  GO
  SET QUOTED_IDENTIFIER ON
  GO
-- =============================================
-- Author:  <Jacker.W>
-- Create date: <2015-1-10>
-- Description: <增加修改调整每日计划产能信息>
-- =============================================
   Create PROCEDURE [dbo].[InsUpdPTS]
   @ptsNo varchar(8000), --设备人工编号
   @ptsUse int, --是否启用(0或-1) 默认为-1,即启用
   @ptsUnit nvarchar(5), --计时单位
   @ptsPD nvarchar(4000), --计划日期
   @ptsDayMaxDCP nvarchar(4000),--白班最大产能
   @ptsNightMaxDCP nvarchar(4000),--晚班最大产能
   @ptsDayDCP nvarchar(4000),--白班可用产能
   @ptsNightDCP nvarchar(4000),--晚班可用产能
   @ptsTactics int, --计划策略(0不超且跳过已有产能,1可超且跳过已有产能,2不超且覆盖已有产能,3可超且覆盖已有产能)
   @ptsDayDTH float, --白班计划时长
   --白班各段时间设置(上半段正班)
   @CTS01_S2DAY int,
   @CTS01_E2DAY int,
   @CTS01_ST nvarchar(5),
   @CTS01_ET nvarchar(5),
   @CTS01_DTH float,
   @CTS01_USE int,
   --白班各段时间设置(午休)
   @CTS02_S2DAY int,
   @CTS02_E2DAY int,
   @CTS02_ST nvarchar(5),
   @CTS02_ET nvarchar(5),
   @CTS02_DTH float,
   @CTS02_USE int,
   --白班各段时间设置(下半段正班)
   @CTS03_S2DAY int,
   @CTS03_E2DAY int,
   @CTS03_ST nvarchar(5),
   @CTS03_ET nvarchar(5),
   @CTS03_DTH float,
   @CTS03_USE int,
   --白班各段时间设置(晚休)
   @CTS04_S2DAY int,
   @CTS04_E2DAY int,
   @CTS04_ST nvarchar(5),
   @CTS04_ET nvarchar(5),
   @CTS04_DTH float,
   @CTS04_USE int,
   --白班各段时间设置(加班)
   @CTS05_S2DAY int,
   @CTS05_E2DAY int,
   @CTS05_ST nvarchar(5),
   @CTS05_ET nvarchar(5),
   @CTS05_DTH float,
   @CTS05_USE int,
   @ptsNightDTH float, --晚班计划时长
   --晚班各段时间设置(上半段正班)
   @CTS11_S2DAY int,
   @CTS11_E2DAY int,
   @CTS11_ST nvarchar(5),
   @CTS11_ET nvarchar(5),
   @CTS11_DTH float,
   @CTS11_USE int,
   --晚班各段时间设置(午休)
   @CTS12_S2DAY int,
   @CTS12_E2DAY int,
   @CTS12_ST nvarchar(5),
   @CTS12_ET nvarchar(5),
   @CTS12_DTH float,
   @CTS12_USE int,
   --晚班各段时间设置(下半段正班)
   @CTS13_S2DAY int,
   @CTS13_E2DAY int,
   @CTS13_ST nvarchar(5),
   @CTS13_ET nvarchar(5),
   @CTS13_DTH float,
   @CTS13_USE int,
   --晚班各段时间设置(晚休)
   @CTS14_S2DAY int,
   @CTS14_E2DAY int,
   @CTS14_ST nvarchar(5),
   @CTS14_ET nvarchar(5),
   @CTS14_DTH float,
   @CTS14_USE int,
   --晚班各段时间设置(加班)
   @CTS15_S2DAY int,
   @CTS15_E2DAY int,
   @CTS15_ST nvarchar(5),
   @CTS15_ET nvarchar(5),
   @CTS15_DTH float,
   @CTS15_USE int,
   @ptsCAName nvarchar(30), --登记人或最后修改人
   @ptsDate datetime --登记日期或最后修改日期
    AS
begin TRANSACTION
       declare @curResNO nvarchar(13)
       declare @curDayMaxDCP float
   declare @curNightMaxDCP float
   declare @curDayDCP float
   declare @curNightDCP float
   declare @curPD date
 
   declare @posRN int
   declare @posRN1 int
   declare @posRN2 int
 
   declare @posDMP int
   declare @posDMP1 int
   declare @posDMP2 int
 
   declare @posNMP int
   declare @posNMP1 int
   declare @posNMP2 int
 
   declare @posDP int
   declare @posDP1 int
   declare @posDP2 int
 
   declare @posNP int
   declare @posNP1 int
   declare @posNP2 int
 
   declare @posPD int
   declare @posPD1 int
   declare @posPD2 int
 
   declare @endN int
      DECLARE @errorSum int
    set @errorsum=0
      set @endN=1
   
      set @posRN=1
      set @posDMP=1
      set @posNMP=1
      set @posDP=1
      set @posNP=1
    --产生临时表结构
  select * into #TempPTS  FROM Set_MSResPlan_List WHERE 1<>1
    set @errorSum=@errorSum+@@ERROR
  while @endN>=1
    begin
     --获取设备人工编号
     set @posRN1 = CHARINDEX('[',@ptsNo,@posRN)
     set @posRN2 = CHARINDEX(']',@ptsNo,@posRN)
     if @posRN1>0 and @posRN2>0 and @posRN2>@posRN1
       begin
      set @posRN=@posRN2+1
      set @curResNO=SUBSTRING(@ptsNo,@posRN1+1,@posRN2-@posRN1-1)
      --获取白班最大产能
      set @posDMP1 = CHARINDEX('[',@ptsDayMaxDCP,@posDMP)
      set @posDMP2 = CHARINDEX(']',@ptsDayMaxDCP,@posDMP)
      set @posDMP=@posDMP2+1
      set @curDayMaxDCP=cast(SUBSTRING(@ptsDayMaxDCP,@posDMP1+1,@posDMP2-@posDMP1-1) as float)
      --获取白班可用产能
      set @posDP1 = CHARINDEX('[',@ptsDayDCP,@posDP)
      set @posDP2 = CHARINDEX(']',@ptsDayDCP,@posDP)
      set @posDP=@posDP2+1
      set @curDayDCP=cast(SUBSTRING(@ptsDayDCP,@posDP1+1,@posDP2-@posDP1-1) as float)
      --获取晚班最大产能
      set @posNMP1 = CHARINDEX('[',@ptsNightMaxDCP,@posNMP)
      set @posNMP2 = CHARINDEX(']',@ptsNightMaxDCP,@posNMP)
      set @posNMP=@posNMP2+1
      set @curNightMaxDCP=cast(SUBSTRING(@ptsNightMaxDCP,@posNMP1+1,@posNMP2-@posNMP1-1) as float)
      --获取晚班可用产能
      set @posNP1 = CHARINDEX('[',@ptsNightDCP,@posNP)
      set @posNP2 = CHARINDEX(']',@ptsNightDCP,@posNP)
      set @posNP=@posNP2+1
      set @curNightDCP=cast(SUBSTRING(@ptsNightDCP,@posNP1+1,@posNP2-@posNP1-1) as float)
      --获取计划日期
      set @posPD=1
      set @posPD1 = CHARINDEX('[',@ptsPD,@posPD)
      set @posPD2 = CHARINDEX(']',@ptsPD,@posPD)
      set @posPD=@posPD2+1
      set @curPD=cast(SUBSTRING(@ptsPD,@posPD1+1,@posPD2-@posPD1-1) as date)
      --开始加载数据    
      while @posPD1>0 and  @posPD2>0 and @posPD2>@posPD1
        begin --白班
           if @ptsDayDTH>0 and @curDayMaxDCP>0 and @curDayDCP>0
               begin
          if @ptsTactics=0 and @ptsDayDTH<=@curDayDCP
            begin
              if not exists(select Plan_Date from Set_MSResPlan_List where MS_ResNo=@curResNO and Plan_Date=@curPD and Plan_Class='白班')
                 begin
                 insert into #tempPTS  (MS_ResNo,Plan_Use,Plan_Date,Plan_Class,Plan_Units,Plan_DTH,Plan_Creator,Plan_CD,CTS01_S2DAY,CTS01_E2DAY,CTS01_ST,CTS01_ET,CTS01_DTH,CTS01_USE,CTS02_S2DAY,CTS02_E2DAY,CTS02_ST,CTS02_ET,CTS02_DTH,CTS02_USE,CTS03_S2DAY,CTS03_E2DAY,CTS03_ST,CTS03_ET,CTS03_DTH,CTS03_USE,CTS04_S2DAY,CTS04_E2DAY,CTS04_ST,CTS04_ET,CTS04_DTH,CTS04_USE,CTS05_S2DAY,CTS05_E2DAY,CTS05_ST,CTS05_ET,CTS05_DTH,CTS05_USE) 
           values(@curResNO,@ptsUse,@curPD,'白班',@ptsUnit,@ptsDayDTH,@ptsCAName,@ptsDate,
               @CTS01_S2DAY,@CTS01_E2DAY ,@CTS01_ST ,@CTS01_ET ,@CTS01_DTH,@CTS01_USE ,
               @CTS02_S2DAY,@CTS02_E2DAY ,@CTS02_ST ,@CTS02_ET ,@CTS02_DTH,@CTS02_USE ,
               @CTS03_S2DAY,@CTS03_E2DAY ,@CTS03_ST ,@CTS03_ET ,@CTS03_DTH,@CTS03_USE ,
               @CTS04_S2DAY,@CTS04_E2DAY ,@CTS04_ST ,@CTS04_ET ,@CTS04_DTH,@CTS04_USE ,
               @CTS05_S2DAY,@CTS05_E2DAY ,@CTS05_ST ,@CTS05_ET ,@CTS05_DTH,@CTS05_USE )
               set @errorSum=@errorSum+@@ERROR
               end
            end
           if @ptsTactics=1  and @ptsDayDTH<=@curDayMaxDCP
                 begin
             if not exists(select Plan_Date from Set_MSResPlan_List where MS_ResNo=@curResNO and Plan_Date=@curPD and Plan_Class='白班')
              begin
                insert into #tempPTS(MS_ResNo,Plan_Use,Plan_Date,Plan_Class,Plan_Units,Plan_DTH,Plan_Creator,Plan_CD,CTS01_S2DAY,CTS01_E2DAY,CTS01_ST,CTS01_ET,CTS01_DTH,CTS01_USE,CTS02_S2DAY,CTS02_E2DAY,CTS02_ST,CTS02_ET,CTS02_DTH,CTS02_USE,CTS03_S2DAY,CTS03_E2DAY,CTS03_ST,CTS03_ET,CTS03_DTH,CTS03_USE,CTS04_S2DAY,CTS04_E2DAY,CTS04_ST,CTS04_ET,CTS04_DTH,CTS04_USE,CTS05_S2DAY,CTS05_E2DAY,CTS05_ST,CTS05_ET,CTS05_DTH,CTS05_USE) 
           values(@curResNO,@ptsUse,@curPD,'白班',@ptsUnit,@ptsDayDTH,@ptsCAName,@ptsDate,
               @CTS01_S2DAY,@CTS01_E2DAY ,@CTS01_ST ,@CTS01_ET ,@CTS01_DTH,@CTS01_USE ,
               @CTS02_S2DAY,@CTS02_E2DAY ,@CTS02_ST ,@CTS02_ET ,@CTS02_DTH,@CTS02_USE ,
               @CTS03_S2DAY,@CTS03_E2DAY ,@CTS03_ST ,@CTS03_ET ,@CTS03_DTH,@CTS03_USE ,
               @CTS04_S2DAY,@CTS04_E2DAY ,@CTS04_ST ,@CTS04_ET ,@CTS04_DTH,@CTS04_USE ,
               @CTS05_S2DAY,@CTS05_E2DAY ,@CTS05_ST ,@CTS05_ET ,@CTS05_DTH,@CTS05_USE )
               set @errorSum=@errorSum+@@ERROR
               end
          end  
          if @ptsTactics=2 and @ptsDayDTH <=@curDayDCP
          begin
            if exists(select Plan_Date from Set_MSResPlan_List where MS_ResNo=@curResNO and Plan_Date=@curPD and Plan_Class='白班')
            begin
               Update Set_MSResPlan_List set Plan_Use=@ptsUse,Plan_Units=@ptsUnit,Plan_DTH=@ptsDayDTH,Plan_Alter=@ptsCAName,Plan_MD=@ptsDate,       CTS01_S2DAY=@CTS01_S2DAY,CTS01_E2DAY=@CTS01_E2DAY,CTS01_ST=@CTS01_ST,CTS01_ET=@CTS01_ET,CTS01_DTH=@CTS01_DTH,CTS01_USE=@CTS01_USE,
       CTS02_S2DAY=@CTS02_S2DAY,CTS02_E2DAY=@CTS02_E2DAY,CTS02_ST=@CTS02_ST,CTS02_ET=@CTS02_ET,CTS02_DTH=@CTS02_DTH,CTS02_USE=@CTS02_USE,
      CTS03_S2DAY=@CTS03_S2DAY,CTS03_E2DAY=@CTS03_E2DAY,CTS03_ST=@CTS03_ST,CTS03_ET=@CTS03_ET,CTS03_DTH=@CTS03_DTH,CTS03_USE=@CTS03_USE,      CTS04_S2DAY=@CTS04_S2DAY,CTS04_E2DAY=@CTS04_E2DAY,CTS04_ST=@CTS04_ST,CTS04_ET=@CTS04_ET,CTS04_DTH=@CTS04_DTH,CTS04_USE=@CTS04_USE,
  CTS05_S2DAY=@CTS05_S2DAY,CTS05_E2DAY=@CTS05_E2DAY,CTS05_ST=@CTS05_ST,CTS05_ET=@CTS05_ET,CTS05_DTH=@CTS05_DTH,CTS05_USE=@CTS05_USE
           where MS_ResNo=@curResNO and Plan_Date=@curPD and Plan_Class='白班'
           set @errorSum=@errorSum+@@ERROR
         end
      end
      if @ptsTactics=3  and @ptsDayDTH<=@curDayMaxDCP
   begin
      if exists(select Plan_Date from Set_MSResPlan_List where MS_ResNo=@curResNO and Plan_Date=@curPD and Plan_Class='白班')
      begin
        Update Set_MSResPlan_List set Plan_Use=@ptsUse,Plan_Units=@ptsUnit,Plan_DTH=@ptsDayDTH,Plan_Alter=@ptsCAName,Plan_MD=@ptsDate,
        CTS01_S2DAY=@CTS01_S2DAY,CTS01_E2DAY=@CTS01_E2DAY,CTS01_ST=@CTS01_ST,CTS01_ET=@CTS01_ET,CTS01_DTH=@CTS01_DTH,CTS01_USE=@CTS01_USE,
        CTS02_S2DAY=@CTS02_S2DAY,CTS02_E2DAY=@CTS02_E2DAY,CTS02_ST=@CTS02_ST,CTS02_ET=@CTS02_ET,CTS02_DTH=@CTS02_DTH,CTS02_USE=@CTS02_USE,
        CTS03_S2DAY=@CTS03_S2DAY,CTS03_E2DAY=@CTS03_E2DAY,CTS03_ST=@CTS03_ST,CTS03_ET=@CTS03_ET,CTS03_DTH=@CTS03_DTH,CTS03_USE=@CTS03_USE,
        CTS04_S2DAY=@CTS04_S2DAY,CTS04_E2DAY=@CTS04_E2DAY,CTS04_ST=@CTS04_ST,CTS04_ET=@CTS04_ET,CTS04_DTH=@CTS04_DTH,CTS04_USE=@CTS04_USE,
        CTS05_S2DAY=@CTS05_S2DAY,CTS05_E2DAY=@CTS05_E2DAY,CTS05_ST=@CTS05_ST,CTS05_ET=@CTS05_ET,CTS05_DTH=@CTS05_DTH,CTS05_USE=@CTS05_USE
           where MS_ResNo=@curResNO and Plan_Date=@curPD and Plan_Class='白班'
           set @errorSum=@errorSum+@@ERROR
         end
      end
    end
    --加载晚班     
    if @ptsNightDTH>0 and @curNightMaxDCP>0 and @curNightDCP>0
    begin
   if @ptsTactics=0 and @ptsNightDTH<=@curNightDCP
   begin
     if not exists(select Plan_Date from Set_MSResPlan_List where MS_ResNo=@curResNO and Plan_Date=@curPD and Plan_Class='晚班')
     begin
          insert into #tempPTS(MS_ResNo,Plan_Use,Plan_Date,Plan_Class,Plan_Units,Plan_DTH,Plan_Creator,Plan_CD,CTS01_S2DAY,CTS01_E2DAY,CTS01_ST,CTS01_ET,CTS01_DTH,CTS01_USE,CTS02_S2DAY,CTS02_E2DAY,CTS02_ST,CTS02_ET,CTS02_DTH,CTS02_USE,CTS03_S2DAY,CTS03_E2DAY,CTS03_ST,CTS03_ET,CTS03_DTH,CTS03_USE,CTS04_S2DAY,CTS04_E2DAY,CTS04_ST,CTS04_ET,CTS04_DTH,CTS04_USE,CTS05_S2DAY,CTS05_E2DAY,CTS05_ST,CTS05_ET,CTS05_DTH,CTS05_USE)
          values(@curResNO,@ptsUse,@curPD,'晚班',@ptsUnit,@ptsNightDTH,@ptsCAName,@ptsDate,
          @CTS11_S2DAY,@CTS11_E2DAY ,@CTS11_ST ,@CTS11_ET ,@CTS11_DTH,@CTS11_USE ,
          @CTS12_S2DAY,@CTS12_E2DAY ,@CTS12_ST ,@CTS12_ET ,@CTS12_DTH,@CTS12_USE ,
          @CTS13_S2DAY,@CTS13_E2DAY ,@CTS13_ST ,@CTS13_ET ,@CTS13_DTH,@CTS13_USE ,
          @CTS14_S2DAY,@CTS14_E2DAY ,@CTS14_ST ,@CTS14_ET ,@CTS14_DTH,@CTS14_USE ,
          @CTS15_S2DAY,@CTS15_E2DAY ,@CTS15_ST ,@CTS15_ET ,@CTS15_DTH,@CTS15_USE )
          set @errorSum=@errorSum+@@ERROR
        end
      end 
      if @ptsTactics=1 and @ptsNightDTH<=@curNightMaxDCP
   begin
        if not exists(select Plan_Date from Set_MSResPlan_List where MS_ResNo=@curResNO and Plan_Date=@curPD and Plan_Class='晚班')
     begin  
          insert into #tempPTS(MS_ResNo,Plan_Use,Plan_Date,Plan_Class,Plan_Units,Plan_DTH,Plan_Creator,Plan_CD,CTS01_S2DAY,CTS01_E2DAY,CTS01_ST,CTS01_ET,CTS01_DTH,CTS01_USE,CTS02_S2DAY,CTS02_E2DAY,CTS02_ST,CTS02_ET,CTS02_DTH,CTS02_USE,CTS03_S2DAY,CTS03_E2DAY,CTS03_ST,CTS03_ET,CTS03_DTH,CTS03_USE,CTS04_S2DAY,CTS04_E2DAY,CTS04_ST,CTS04_ET,CTS04_DTH,CTS04_USE,CTS05_S2DAY,CTS05_E2DAY,CTS05_ST,CTS05_ET,CTS05_DTH,CTS05_USE)
          values(@curResNO,@ptsUse,@curPD,'晚班',@ptsUnit,@ptsNightDTH,@ptsCAName,@ptsDate,
          @CTS11_S2DAY,@CTS11_E2DAY ,@CTS11_ST ,@CTS11_ET ,@CTS11_DTH,@CTS11_USE ,
          @CTS12_S2DAY,@CTS12_E2DAY ,@CTS12_ST ,@CTS12_ET ,@CTS12_DTH,@CTS12_USE ,
          @CTS13_S2DAY,@CTS13_E2DAY ,@CTS13_ST ,@CTS13_ET ,@CTS13_DTH,@CTS13_USE ,
          @CTS14_S2DAY,@CTS14_E2DAY ,@CTS14_ST ,@CTS14_ET ,@CTS14_DTH,@CTS14_USE ,
          @CTS15_S2DAY,@CTS15_E2DAY ,@CTS15_ST ,@CTS15_ET ,@CTS15_DTH,@CTS15_USE )
          set @errorSum=@errorSum+@@ERROR
        end
      end 
      if @ptsTactics=2 and @ptsNightDTH<=@curNightDCP
   begin
     if exists(select Plan_Date from Set_MSResPlan_List where MS_ResNo=@curResNO and Plan_Date=@curPD and Plan_Class='晚班')
     begin
          Update Set_MSResPlan_List set Plan_Use=@ptsUse,Plan_Units=@ptsUnit,Plan_DTH=@ptsDayDTH,Plan_Alter=@ptsCAName,Plan_MD=@ptsDate,
        CTS01_S2DAY=@CTS11_S2DAY,CTS01_E2DAY=@CTS11_E2DAY,CTS01_ST=@CTS11_ST,CTS01_ET=@CTS11_ET,CTS01_DTH=@CTS11_DTH,CTS01_USE=@CTS11_USE,
        CTS02_S2DAY=@CTS12_S2DAY,CTS02_E2DAY=@CTS12_E2DAY,CTS02_ST=@CTS12_ST,CTS02_ET=@CTS12_ET,CTS02_DTH=@CTS12_DTH,CTS02_USE=@CTS12_USE,
        CTS03_S2DAY=@CTS13_S2DAY,CTS03_E2DAY=@CTS13_E2DAY,CTS03_ST=@CTS13_ST,CTS03_ET=@CTS13_ET,CTS03_DTH=@CTS13_DTH,CTS03_USE=@CTS13_USE,
        CTS04_S2DAY=@CTS14_S2DAY,CTS04_E2DAY=@CTS14_E2DAY,CTS04_ST=@CTS14_ST,CTS04_ET=@CTS14_ET,CTS04_DTH=@CTS14_DTH,CTS04_USE=@CTS14_USE,
        CTS05_S2DAY=@CTS15_S2DAY,CTS05_E2DAY=@CTS15_E2DAY,CTS05_ST=@CTS15_ST,CTS05_ET=@CTS15_ET,CTS05_DTH=@CTS15_DTH,CTS05_USE=@CTS15_USE
           where MS_ResNo=@curResNO and Plan_Date=@curPD and Plan_Class='晚班'
           set @errorSum=@errorSum+@@ERROR
        end
      end 
      if @ptsTactics=3 and @ptsNightDTH<=@curNightMaxDCP
   begin
        if exists(select Plan_Date from Set_MSResPlan_List where MS_ResNo=@curResNO and Plan_Date=@curPD and Plan_Class='晚班')
     begin  
          Update Set_MSResPlan_List set Plan_Use=@ptsUse,Plan_Units=@ptsUnit,Plan_DTH=@ptsDayDTH,Plan_Alter=@ptsCAName,Plan_MD=@ptsDate,
        CTS01_S2DAY=@CTS11_S2DAY,CTS01_E2DAY=@CTS11_E2DAY,CTS01_ST=@CTS11_ST,CTS01_ET=@CTS11_ET,CTS01_DTH=@CTS11_DTH,CTS01_USE=@CTS11_USE,
        CTS02_S2DAY=@CTS12_S2DAY,CTS02_E2DAY=@CTS12_E2DAY,CTS02_ST=@CTS12_ST,CTS02_ET=@CTS12_ET,CTS02_DTH=@CTS12_DTH,CTS02_USE=@CTS12_USE,
        CTS03_S2DAY=@CTS13_S2DAY,CTS03_E2DAY=@CTS13_E2DAY,CTS03_ST=@CTS13_ST,CTS03_ET=@CTS13_ET,CTS03_DTH=@CTS13_DTH,CTS03_USE=@CTS13_USE,
        CTS04_S2DAY=@CTS14_S2DAY,CTS04_E2DAY=@CTS14_E2DAY,CTS04_ST=@CTS14_ST,CTS04_ET=@CTS14_ET,CTS04_DTH=@CTS14_DTH,CTS04_USE=@CTS14_USE,
        CTS05_S2DAY=@CTS15_S2DAY,CTS05_E2DAY=@CTS15_E2DAY,CTS05_ST=@CTS15_ST,CTS05_ET=@CTS15_ET,CTS05_DTH=@CTS15_DTH,CTS05_USE=@CTS15_USE
           where MS_ResNo=@curResNO and Plan_Date=@curPD and Plan_Class='晚班'
           set @errorSum=@errorSum+@@ERROR
        end
      end   
    end
    --计划日期循环
    set @posPD1 = CHARINDEX('[',@ptsPD,@posPD)
    set @posPD2 = CHARINDEX(']',@ptsPD,@posPD)
    set @posPD=@posPD2+1
    set @curPD=cast(SUBSTRING(@ptsPD,@posPD1+1,@posPD2-@posPD1-1) as date)  
  end
   end
   else
   begin
  set @endN=0
   end
 end
 if @ptsTactics=0 or @ptsTactics=1
 begin
   insert into  Set_MSResPlan_List  select * FROM #TempPTS
   set @errorSum=@errorSum+@@ERROR
 end
 drop table  #TempPTS
 set @errorSum=@errorSum+@@ERROR
if @errorSum<>0
  begin
    rollback
  end
else
  begin
    commit TRANSACTION
  end

  

posted on 2015-08-27 15:42  Jacker.W  阅读(379)  评论(0编辑  收藏  举报