Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zmiana nazwy wielu tabel

Możesz umieścić kursor na wszystkich swoich tabelach w xyz schemat i przenieś je wszystkie do abc schemat:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zbiorcze wstawianie silnie zindeksowanych elementów podrzędnych (Sql Server 2008)

  2. Najlepszy sposób na wyłapanie naruszeń unikalnych ograniczeń sql w c# podczas wstawiania

  3. Skutecznie rozwiąż problem z bazą danych SQL Server utknął w trybie podejrzanym

  4. Operacja CRUD z ASP.NET Core MVC, Entity Framework Core i SQL Server

  5. SQL — konwersja typu danych varchar na typ danych data/godzina skutkowała wartością spoza zakresu