Rename SQL Server Schema

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

How can I rename a schema using SQL Server?

7条回答
  •  没有蜡笔的小新
    2020-12-07 17:00

    This is a short version but works well.

    declare @sql varchar(8000), @table varchar(1000), @oldschema varchar(1000), @newschema   varchar(1000)
    
      set @oldschema = 'old'
      set @newschema = 'dbo'
    
     while exists(select * from sys.tables where schema_name(schema_id) = @oldschema)
    
      begin
          select @table = name from sys.tables 
          where object_id in(select min(object_id) from sys.tables where  schema_name(schema_id)  = @oldschema)
    
        set @sql = 'alter schema [' + @newschema + '] transfer [' + @oldschema + '].[' + @table + ']'
    
       exec(@sql)
     end
    

提交回复
热议问题