sql >> Database >  >> RDS >> Sqlserver

Hernoem SQL Server-schema

Als je een groot aantal objecten in een schema hebt, kun je zoiets gebruiken om alle wijzigingen automatisch te genereren (het doet alleen tabellen en weergaven, dus voordat je het uitvoert, moet je het misschien uitbreiden naar SP's, UDF's, enz. .)

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. Is het mogelijk om de toegang tot SQL Server van specifieke programma's te weigeren?

  2. JUnit/HSQLDB:fouten met Oracle-syntaxis omzeilen bij het testen met HSQLDB (geen privilege en/of geen DUAL-object)

  3. Vind ontbrekende tijdsintervallen in een tabel

  4. php api beveiligen voor gebruik in Android-applicatie