[英]Update multiple columns based on values from other table in SQL Server
[英]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.