我在同一个 mysql 服务器的 100 个不同模式中有同名表 (name-xxx)。 我想通过使用单个脚本(无需硬编码)来更改所有名为 xxx 的表 脚本中的模式名称)
最佳答案
你可以尝试这样的事情:
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
关于mysql - 在多个模式中更改具有相同名称的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33931428/