【发布时间】:2010-04-17 00:34:49
【问题描述】:
我想知道是否有办法更改我在 Management Studio 中工作的架构。例如,我可能有一个默认模式 dbo。但有时我可能想查询会计模式中的对象。如果我可以发出命令并执行它,那就太好了,这样我就不再必须在表和视图之前包含会计。但是下次我进去时,我会回到默认的dbo。
【问题讨论】:
标签: sql-server-2005 tsql sql-server-2008
我想知道是否有办法更改我在 Management Studio 中工作的架构。例如,我可能有一个默认模式 dbo。但有时我可能想查询会计模式中的对象。如果我可以发出命令并执行它,那就太好了,这样我就不再必须在表和视图之前包含会计。但是下次我进去时,我会回到默认的dbo。
【问题讨论】:
标签: sql-server-2005 tsql sql-server-2008
您应该始终为您的对象添加架构前缀。在AdventurWorks 数据库中,您会注意到模式的广泛使用:
Select ... From Person.Contact
Select ... From Person.StateProvince
在每个查询中,您在对象前面加上架构并用句点分隔它们。 (<schema>.<object>)。当您省略模式时,系统需要更多的工作来确定您想要哪个对象。即使您引用的所有对象都是dbo,您也应该在所有对象引用中包含dbo。
现在,说了这么多,您可以使用 ALTER USER 更改默认架构:
ALTER USER userName WITH DEFAULT_SCHEMA = schemaName
即便如此,我强烈建议您在引用任何对象时始终包含架构。
【讨论】: