sql >> Database teknologi >  >> RDS >> Sqlserver

Omdøb SQL Server Schema

Hvis du har et stort antal objekter i et skema, kan du bruge sådan noget til at generere alle ændringerne automatisk (det laver kun tabeller og visninger, så før du kører det, skal du muligvis udvide det til SP'er, UDF'er osv. .)

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. Hvordan udtrækkes det n'te ord og tælles ordforekomster i en MySQL-streng?

  2. Ydeevne af RegEx vs LIKE i MySql-forespørgsler

  3. En oversigt over betroede udvidelser i PostgreSQL 13

  4. Hvordan vælger man værdien af ​​xsi:type-attributten i SQL Server?