Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Преименуване на множество таблици

Можете да поставите курсор върху всичките си таблици в xyz схема и преместете всички в abc схема:

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. Групиране по sql заявка в колона, свързана със запетая

  2. Таблица с данни, съдържаща SqlGeometry, причинява неуспешно изпълнение на съхранена процедура... Защо?

  3. Използване на NOLOCK Hint в EF4?

  4. Обработка на грешки в SQL Server:изключения и договор база данни-клиент

  5. загуба на мащаб при извършване на изчисление