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

Преименувайте схемата на SQL Server

Ако имате голям брой обекти в схема, можете да използвате нещо подобно, за да генерирате автоматично всички промени (това прави само таблици и изгледи, така че преди да го стартирате, може да се наложи да го разширите до SP, UDF и т.н. .)

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да избера ТОП 5 ПРОЦЕНТА от всяка група?

  2. Как да тествате ефективно дали екземпляр на SQL Server работи в C#

  3. SQL сървър, конвертиране на секунди в минути, часове, дни

  4. Комбиниране на няколко реда в един ред и добавяне на колоните в зависимост от броя на редовете

  5. Кой синтаксис на присъединяване е по-добър?