我想要更改数据库中表Employees
的模式名称。在当前表中,Employees
数据库模式名为dbo
,我想将其更改为exe
。我该怎么做呢?
示例:
从…
dbo.Employees
至
exe.Employees
我尝试使用这个查询:
ALTER SCHEMA exe TRANSFER dbo.Employees
但这给了我一个错误:
无法更改架构'exe',因为它不存在或您没有权限。
我错过了什么?
发布于 2013-03-19 01:32:24
创建架构:
IF (NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'exe'))
BEGIN
EXEC ('CREATE SCHEMA [exe] AUTHORIZATION [dbo]')
END
ALTER Schema :
ALTER SCHEMA exe
TRANSFER dbo.Employees
发布于 2015-09-26 04:02:32
ALTER SCHEMA NewSchema TRANSFER [OldSchema].[TableName]
当我在SQL中使用ALTER SCHEMA
查询时,我总是必须使用括号,否则我会收到一条错误消息。
发布于 2013-03-19 01:20:14
请在下面尝试
declare @sql varchar(8000), @table varchar(1000), @oldschema varchar(1000), @newschema varchar(1000)
set @oldschema = 'dbo'
set @newschema = 'exe'
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
https://stackoverflow.com/questions/15482838
复制相似问题