sql >> Databasteknik >  >> RDS >> Sqlserver

Byter namn på flera tabeller

Du kan låta en markör köra över alla dina tabeller i xyz schemat och flytta alla dessa till abc schema:

DECLARE TableCursor CURSOR FAST_FORWARD 
FOR
    -- get the table names for all tables in the 'xyz' schema
    SELECT t.Name
    FROM sys.tables t 
    WHERE schema_id = SCHEMA_ID('xyz')

DECLARE @TableName sysname

OPEN TableCursor

FETCH NEXT FROM TableCursor INTO @TableName

-- iterate over all tables found    
WHILE @@FETCH_STATUS = 0
BEGIN
    DECLARE @Stmt NVARCHAR(999)

    -- construct T-SQL statement to move table to 'abc' schema
    SET @Stmt = 'ALTER SCHEMA abc TRANSFER xyz.' + @TableName
    EXEC (@Stmt)

    FETCH NEXT FROM TableCursor INTO @TableName
END

CLOSE TableCursor
DEALLOCATE TableCursor


  1. Hur man sparar uppladdade bildnamn i MySQL-databasen

  2. Tar du den näst sista raden med bara ett urval i SQL Server?

  3. Hur kan jag göra en INNAN UPPDATERAD trigger med sql-server?

  4. Rails ignorerar konstanter i SQL SELECT-satsen