合格的命名

时间:2010-09-22 23:18:55

标签: tsql qualified-name

我目前正在对应用程序进行一些维护,我遇到了一个关于tsql中限定名称的重大问题。我想知道是否有人可以清除我的困惑。

根据我的理解,您希望使用USE [DatabaseName]来声明您正在使用的数据库。我注意到,如果你“重命名”数据库,它会自动更新代码中的这些引用。

但是,最初编写此代码的开发人员使用USE [DatabaseName]。然后他在后来的陈述中写道:SELECT * FROM [DatabaseName].[dbo].[Table]。如果我更改数据库的名称,这显然会中断。根据我的阅读,您希望仅将名称限定为所有者,例如:[dbo].[TableName],因此它知道在哪里可以提高性能。

他是否有理由在每个声明中包含数据库名称?

1 个答案:

答案 0 :(得分:1)

  

根据我的阅读,您希望仅将名称限定为所有者,例如:[dbo]。[TableName],因此它知道在哪里可以提高性能。

不是我知道,而是看起来有人懒惰 我总是使用三种名称格式(除非访问链接服务器实例,然后是四种)。

好处是来自正确数据库和正确数据库的正确表格。将使用架构而不关心错误的USE [appropriate database]语句。只要对象存在,并且权限根据需要有效,您就可以在其他数据库中重新创建存储过程,函数,视图等,而无需每次都处理USE [appropriate database]语句。

但是我正在使用分布在同一个实例上的众多数据库中的数据。我不一定会那样设计它,但不会改变我使用三(或四)部分限定名称格式。