如何更改sqlserver表的架构
数据库的表访问通常是
select 字段名 from 表名
或者
select 字段名 from dbo.表名
问题1:为什么表存在,访问时却访问错误?
假如默认的架构方案不是dbo,则会提示找不到对象。
比如下面的表,是不可以通过select 字段名 from dbo.test1来访问的
原来的架构并非默认的dbo,所以显示的是test.a, test.test1
如何改成dbo.a , dbo.test1 呢?
语法如下:
ALTER SCHEMA 新的架构名 TRANSFER 原来的架构名.[表名]
例:
ALTER SCHEMA DBO TRANSFER TEST.[test1]
GO
ALTER SCHEMA DBO TRANSFER TEST.[A]
执行结果 :
问题2:很多表需要改架构,有什么快的方法吗?
如果要改的表很多,可以使用以下语句:
declare @name sysname
declare csr cursor
for select TABLE_NAME from INFORMATION_SCHEMA.TABLES
open csr
FETCH NEXT FROM csr INTO @name
while (@@FETCH_STATUS=0)
BEGIN
SET @name='原构架名.' + @name
print 'ALTER SCHEMA 新构架名 TRANSFER ' + @name
fetch next from csr into @name
END
CLOSE csr
DEALLOCATE csr
执行结果如下:
查询结果取出来,这些语句可以用来更改表的架构。
问题3:如何更改库的默认架构
点”确定”就可以了。
新建立的表的架构取决于用哪个用户登录,并且该用户的默认架构,用户用户创建的表的架构是它默认的架构。
以前创建的表的架构并不会改变,如果不对,可以用问题一和问题二的方法进行更改。
如何更改sqlserver表的架构
本文2024-09-22 20:22:30发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-113219.html