如何更改sqlserver表的架构

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

如何更改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表的架构.docx

如何更改sqlserver表的架构

数据库的表访问通常是 select 字段名 from 表名或者select 字段名 from dbo.表名 问题1:为什么表存在,访问时却访问错误?假如默认...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息