是否可以使用 LIKE 获取数据库中的所有表,例如包含“TOTAL%”的表,然后将它们保存到某个变量,然后在另一个查询中使用它们来更改它们的列大小,就像
ALTER TABLE [TABLE1, TABLE2 TABLE3, ...{Use tables from previous query}]
ALTER COLUMN [Salary] VARCHAR(254) NOT NULL
您可以尝试使用光标来获得想要的效果。 代码可能是这样的
DECLARE @tableName nvarchar(128), @command nvarchar(max)
DECLARE tableCursor CURSOR STATIC FOR
SELECT table_name
FROM information_schema.tables
WHERE table_name LIKE 'TOTAL%'
OPEN tableCursor
FETCH NEXT FROM tableCursor INTO @tableName
WHILE @@FETCH_STATUS = 0
BEGIN
SET @command = 'ALTER TABLE ' + QUOTENAME(@tableName) + ' ALTER COLUMN [Salary] VARCHAR(254) NOT NULL'
EXEC sp_executesql @command
FETCH NEXT FROM tableCursor INTO @tableName
END
CLOSE tableCursor
DEALLOCATE tableCursor