繁体   English   中英

Sql用来自多个表的其他列的值更新列值

[英]Sql to update column values with values from other columns for multiple tables

我有多个包含“Name”和“NameEN”列的表。

我需要用“名称”列的值更新“NameEN”列

我知道如何更新单个表

Update Table
set NameEN = Name

我知道如何获取包含“NameEN”列的表列表

SELECT      c.name  AS 'ColumnName'
            ,t.name AS 'TableName'
FROM        sys.columns c
JOIN        sys.tables  t   ON c.object_id = t.object_id
WHERE       c.name LIKE '%NameEN%'
ORDER BY    TableName
            ,ColumnName;

我可以以某种方式组合 2 个查询来更新包含“NameEN”列的所有表吗?

我正在使用 mssms,如果这很重要,服务器正在运行 ms sql server 14.0.1。

您可以使用命令 EXECUTE sp_executesql:您可以在链接上找到示例: https ://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-executesql-transact-sql?view =sql-server-ver15可以通过系统表查询构建sql语句,找到需要更新的表,然后将结果提供给sp_executesql函数。 您可以使用游标循环遍历结果,也可以将结果语句复制到代码编辑器中并手动运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM