SQL Server 如何在SQL中遍历表并更新列值

qv7cva1a  于 2023-01-16  发布在  其他
关注(0)|答案(1)|浏览(119)

我的数据库中有一个表tFile,我想遍历该表并更新filename,如下例所示:

id    fileId     filename
 -------------------------
 231    555        Null
 123    444        Null
 572    732        Null

我想将文件名更新为name(fileId),如下所示:

id    fileId      filename
 ----------------------------
 231    555        test(555)
 123    444        test(444)
 572    732        test(732)

我写了一个SQL脚本,更新只有一个文件名根据编写它手动,但我需要更新所有的文件名使用循环。我想我必须做嵌套循环一个循环通过fileId和其他通过id循环。
但是很抱歉我没有这方面的经验。我需要帮助。

update tFile
set filename = 'test'+ '('+fileId+')';
where id in (231)
6ovsh4lw

6ovsh4lw1#

根据您的预期输出,我已经创建了一个示例表,请查看。

DECLARE @tFile TABLE
(
    Id int IDENTITY(1,1),
    fileId    INT,
    filename NVARCHAR(50)
)

INSERT INTO @tFile VALUES(555,NULL),(444,NULL),(732,NULL)
SELECT *,CONCAT('TEST(',fileId,')') AS [FileNameUPdate] FROM @tFile
UPDATE @tFile
SET filename  =CONCAT('TEST(',fileId,')')

SELECT * FROM @tFile

产出

相关问题