我在同一个mysql服务器中的100个不同模式中有相同名称(name-xxx)的表。 我想通过使用单个脚本来更改所有名为xxx的表(没有硬编码 脚本中的模式名称)
答案 0 :(得分:0)
你可以尝试这样的事情:
DECLARE @alterQ NVARCHAR(max)
DECLARE @table_name VARCHAR(45)
DECLARE tables_curs CURSOR FOR
SELECT t.table_name
FROM INFORMATION_SCHEMA.TABLES t
WHERE t.table_name = 'xxx'
AND t.table_catalog = 'db_name'
OPEN tables_curs
FETCH tables_curs INTO @table_name
WHILE @@Fetch_Status = 0
BEGIN
SET @table_name = N'ALTER TABLE @table_name ...'
EXEC sp_executesql @alterQ
END
CLOSE tables_curs
DEALLOCATE tables_curs