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

Zmień nazwę schematu serwera SQL

Jeśli masz dużą liczbę obiektów w schemacie, możesz użyć czegoś takiego, aby automatycznie wygenerować wszystkie zmiany (tylko tabele i widoki, więc przed uruchomieniem może być konieczne rozszerzenie go na SP, UDF itp. .)

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. Projekt bazy danych:jedna wielka tabela czy osobne tabele?

  2. Jak usunąć określony znak z ciągu, tylko gdy jest to pierwszy lub ostatni znak w ciągu.

  3. Jak usunąć wszystkie klucze podstawowe ze wszystkich tabel w bazie danych SQL Server — część samouczka SQL Server / TSQL 65

  4. Generuj SQL Utwórz skrypty dla istniejących tabel za pomocą Query

  5. SQL Identity z wiodącymi dopełnionymi zerami