急求好的解决方案 mssql问题
jdmgm 2011-08-19 04:24:47 --@studentID=324195 要更改成的
declare @studentID int
set @studentID=324195
--要更新的
declare @studentID1 int
set @studentID1=391934
--要更新的
declare @studentID2 int
set @studentID2=318271
--compare info 比对信息 --根据提供信息查询需要的信息
select * from vw_CheckSSDS where SSDS='99999' and Center='BJ11'
--再根据要更改的SSDS查询相应信息,与上面的信息进行对比判断是不是同一个人
select * from vw_CheckSSDS where SSDS='02101' and Center='BJ11'
--在Newleads表中查询相应的信息.
select * from NewLeads where Name='陈天琪' and CenterCode='BJ11'
--contractdraft--update contractdraft根据查询判断出所要更改的信息
--比对信息保留信息详细的那条记录
select * from NewLeads where SID in (@studentID,@studentID1,@studentID2)
--a contract, b contract, c newleads; a=324195, b=391934, c=318271 要保留 a
--根据上述判断更新ContractDraft表
select * from ContractDraft where StudentID in (@studentID,@studentID1,@studentID2)
update ContractDraft set StudentID=@studentID where StudentID in (@studentID1,@studentID2)
--update contract
select * from Contract where StudentID in (@studentID,@studentID1,@studentID2)
update Contract set StudentID=@studentID where StudentID in (@studentID1,@studentID2)
--update ContractChangeDraft
select * from ContractChangeDraft where StudentID in (@studentID,@studentID1,@studentID2)
update ContractChangeDraft set StudentID=@studentID where StudentID in (@studentID1,@studentID2)
--update ContractChange
select * from ContractChange where StudentID in (@studentID,@studentID1,@studentID2)
update ContractChange set StudentID=@studentID where StudentID in (@studentID1,@studentID2)
--update NewLeads
select * from NewLeads where SID in (@studentID,@studentID1,@studentID2)
update NewLeads set IsDeleted=1 where SID in (@studentID1,318271)
这段sql怎么改成无论studentid为几个的时候都能实现 ,现在做的是三个的时候,如果是2个,或者更多的时候怎么做?要通用版的