sql >> Databáze >  >> RDS >> Sqlserver

Přejmenujte schéma SQL Server

Pokud máte ve schématu velké množství objektů, můžete použít něco takového k automatickému generování všech změn (provádí pouze tabulky a pohledy, takže před spuštěním jej možná budete muset rozšířit na SP, UDF atd. .)

USE SandBox

DECLARE @OldSchema AS varchar(255)
DECLARE @NewSchema AS varchar(255)
DECLARE @newLine AS varchar(2) = CHAR(13) + CHAR(10)

SET @OldSchema = 'dbo'
SET @NewSchema = 'StackOverflow'

DECLARE @sql AS varchar(MAX)

SET @sql = 'CREATE SCHEMA [' + @NewSchema + ']' + @newLine
SELECT @sql = @sql + 'GO' + @newLine
SELECT @sql = @sql + 'ALTER SCHEMA [' + @NewSchema + '] TRANSFER [' + TABLE_SCHEMA + '].[' + TABLE_NAME + ']'
     + @newLine
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = @OldSchema

SET @sql = @sql + 'DROP SCHEMA [' + @OldSchema + ']'

PRINT @sql -- NOTE PRINT HAS AN 8000 byte limit - 8000 varchar/4000 nvarchar - see comments
IF (0=1) EXEC (@sql)


  1. INTERVAL MySQL Min

  2. číslo portu serveru mysql

  3. hromadné vložení z Javy do Oracle

  4. Jak aktualizovat graf pomocí matplotlib