我需要制作一個遍歷所有表的腳本,并選擇指定名稱的那些列。
我可以找到指定名稱的列,
SELECT sys.columns.name AS ColumnName, tables.name AS TableName
FROM sys.columns
JOIN sys.tables ON sys.columns.object_id = tables.object_id
AND sys.columns.name LIKE 'name'
但如何在SQL遍歷select陳述句的每一行做在桌子上exectute更新命令TableName和和列 ColumnName,以及更新內容,以類似“匿名”?
uj5u.com熱心網友回復:
我只是假設您搜索的確切名稱,并且不要使用通配符,例如%,?,_. 您可以使用以下查詢:
declare @query varchar(max), @val varchar(100);
set @val ='L';
SELECT @query = COALESCE(@query '; ','') 'update ' s.name '.' t.name ' set ' sys.columns.name ' = ''' @val ''''
FROM sys.columns
JOIN sys.tables t ON sys.columns.object_id = t.object_id
AND sys.columns.name LIKE '%Name%'
join sys.schemas s on s.schema_id = t.schema_id
select @query
exec (@query)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/408660.html
標籤:
上一篇:回圈合并多個csv檔案
