sql server 建臨時表修改資料

iSQlServer發表於2010-11-30

某種情況下,我們需要對資料庫某個表的某些欄位執行相同的修改,例如使用者表儲存的密碼最初是以小寫的形式進行儲存的,如果我們需要將其全部轉換為大寫,以下t-sql語句可以解決此問題,原理是通過建立臨時表來儲存當前表的資訊,再通過迴圈修改我們想要改變的密碼欄位:

 

/********************MC_User即為使用者資訊表************************/

declare @count int
declare @index int
declare @tmpID int
declare @tmpUserPassword nvarchar(50)

declare @tmpTable table
(
 Inde int identity(1,1),
 ID int,
 UserPassword nvarchar(50)
)

insert into @tmpTable select a.ID,a.UserPassword from MC_User a

set @count=@@ROWCOUNT
set @index=1
while @index<=@count
begin
 select @tmpID= ID,@tmpUserPassword= UserPassword from @tmpTable where Inde=@index
 update MC_User set UserPassword=UPPER(@tmpUserPassword)
 where ID=@tmpID
 
 set @index=@index+1
end

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-680678/,如需轉載,請註明出處,否則將追究法律責任。

相關文章