Rename SQL Server Schema

前端 未结 7 660
故里飘歌
故里飘歌 2020-12-07 16:42

How can I rename a schema using SQL Server?

7条回答
  •  情话喂你
    2020-12-07 17:13

    For Procedures

    USE DatabaseName
    
    DECLARE @OldSchema AS varchar(255)
    DECLARE @NewSchema AS varchar(255)
    
    SET @OldSchema = 'ComputerLearn'
    SET @NewSchema = 'Basic'
    
    DECLARE @sql AS varchar(MAX)
    
    SET @sql = 'CREATE SCHEMA [' + @NewSchema + ']' + CHAR(13) + CHAR(10)
    
    SELECT @sql = @sql + 'ALTER SCHEMA [' + @NewSchema + '] TRANSFER [' + sys.schemas.name + '].[' + sys.procedures.name + ']'
         + CHAR(13) + CHAR(10)
    FROM sys.procedures,sys.schemas
    WHERE sys.procedures.schema_id=sys.schemas.schema_id and sys.schemas.name = @OldSchema
    
    SET @sql = @sql + 'DROP SCHEMA [' + @OldSchema + ']'
    
    PRINT @sql
    IF (0=1) EXEC (@sql)
    

提交回复
热议问题