如何在sqlserver中更新列值? [英] How to Update Column values in sqlserver?

查看:162
本文介绍了如何在sqlserver中更新列值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我创建了一个表并填充了一些记录。但是,我错过了在Uid列上填充序列号。



如何在这5条记录(101到105)上填充序列号 - 这里不应使用LOOP ......!



有没有简单的更新?



Uid UName电话



-----------------------------



NULL ABC1 12345



NULL EFG1 67890



NULL JKL1 13567



NULL MNO1 24680



NULL QWS1 67981

Hi All,
I have created a table and populated some records. But, I missed to populate the serial number on Uid column.

How to populate sequence number on these 5 records(101 to 105) - LOOP should not be used here...!

Is there any simple UPDATE ?

Uid UName Phone

-----------------------------

NULL ABC1 12345

NULL EFG1 67890

NULL JKL1 13567

NULL MNO1 24680

NULL QWS1 67981

推荐答案

这是示例代码



Here is a sample code

CREATE TABLE #Table1
(
	Uid INT,
	UName VARCHAR(50),
	Phone VARCHAR(50)
)

INSERT INTO #Table1
SELECT NULL, ''ABC1'', ''12345'' UNION ALL
 
SELECT NULL, ''EFG1'', ''67890'' UNION ALL
 
SELECT NULL, ''JKL1'', ''13567'' UNION ALL
 
SELECT NULL, ''MNO1'', ''24680'' UNION ALL
 
SELECT NULL, ''QWS1'', ''67981''

--Before Updating Uid
SELECT * FROM #Table1;


WITH CTE AS
(
	SELECT ROW_NUMBER() oVER (ORDER BY UName) + 100 AS Id, * FROM #Table1
)


UPDATE T
SET UId = Id
FROM #Table1 T
INNER JOIN CTE ON T.UName = CTE.UName AND T.Phone = CTE.Phone

--Afer Updating Uid
SELECT * FROM #Table1

DROP TABLE #Table1


我得到了解决方案。





I got solution.


Declare @Seq Int

Select @Seq = 100

Update Stdrec Set ID= @Seq, @Seq = @Seq +1


这篇关于如何在sqlserver中更新列值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆