sql 临时表 for遍历 case比对

declare @PackageListTypeTemp nvarchar(50)
declare @PackageListType nvarchar(50)
declare @dlId int
declare @n        int
select @n=1
declare @rows     int
CREATE TABLE ##temp(
  id int identity(1,1), 
  ,PackageListType varchar(500) 
  ,dlId int 
  )
INSERT INTO ##temp  
  select p.PackageListType,dl.Id as dlId 
  from DocumentLibrary_list dl
  inner join  PackageList p  on   p.PackageId=dl.Id
  select @rows = @@rowcount
 while @n <= @rows
	begin
		select @PackageListType = PackageListType ,@dlId=dlId
		from ##temp  
		where id = @n 
		order by id desc
		select @PackageListTypeTemp=
		case 
		 when @PackageListType ='BDDie1' or  @PackageListType ='BDDie2' then  'BD/Die'
		 when @PackageListType ='BDDieRDL' then  'BD/RDL' 
		 when @PackageListType ='ChangeList' then  'Wafer/ChangeList'  
		end
		print(@PackageListTypeTemp)
		--修改url 
		update DocumentLibrary_list set url= @PackageListTypeTemp where Id=@dlId
		select @n = @n + 1
	end
Drop TABLE ##temp
 

  

posted @ 2015-06-29 14:02  sifo  阅读(386)  评论(0)    收藏  举报