经典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