sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man ändrar schema för ett objekt (tabell, vy, lagrad procedur) i SQL Server Database - SQL Server / TSQL självstudie del 28

Scenario:
Du arbetar som SQL Server-utvecklare i Livförsäkringsbolaget. De har databasnamn TechBrothersIT och ett av schemanamnen som objekten använder är TB. De har gett dig i uppdrag att döpa om schemat till LIFE. Hur skulle du göra det?


Lösning:

Det finns inget enkelt sätt att byta namn på ett schema i SQL Server Database. Vi måste följa stegen nedan för att göra denna ändring.
Steg 1:Skapa ett nytt schema Skapa ett nytt schema med namnet LIFE, vi kan använda nedanstående skript.
Skapa schema [LIFE]
 
 
 Steg 2:Överför objekten till nytt schema.  Vi kan använda nedanstående skript för att överföra enstaka objekt (tabell, vy, lagrad procedur etc.) till nytt schema.
Använd DatabaseALTER SCHEMA NewSchemaTRANSFER OldSchema.ObjectNameGO

Låt oss säga att jag har en tabell i TB Schema och att jag kan använda skriptet nedan för att flytta till Life Schema.

Ändra schema [LIFE] Transfer TB.[test]; 

Ovanstående fråga måste upprepas för att vart och ett av objekten ska överföras från TB-schema till LIFE-schema. Vi kan använda nedanstående urvalsfråga för att generera vår Alter-fråga för andra objekt i en databas för att överföra objekt från ett schema till ett annat.

Declare @SourceSchema VARCHAR(100)Declare @DestinationSchema VARCHAR(100 )SET @SourceSchema='TB'SET @DestinationSchema='LIFE'Välj 'Ändra schema ['+@DestinationSchema+'] Överför '
+@SourceSchema+'.['+name+']' 
från sys.objectswhere schema_name(schema_id)=@SourceSchema
 
 Ange @SourceSchema och @DestinationSchema variabelvärden och frågan kommer att generera Alter-satser åt dig. Kopiera och kör i ditt frågefönster. 

Obs! Se till att du testar förändringarna i utvecklingsmiljön innan du kör i UAT- och produktionsmiljöer.



Videodemo:Hur man överför objekt från ett schema till andra i SQL Server

  1. PL/SQL Gateway i R11i

  2. Förstå DROP TABLE-satsen i SQL Server

  3. Hur anropar jag en Oracle-lagrad procedur från ett Excel VBA-skript?

  4. Anropar en annan PL/SQL-procedur inom en procedur