SQL Server使用dbo编辑表名作为前缀

时间:2013-08-18 22:10:58

标签: sql sql-server sql-server-ce webmatrix

我一直在使用SQL Server CE。在该数据库中,表名称就像 UserPostsUserProfile

但是,在从SQL Server CE升级到SQL Server后,名称将被编辑为dbo.UserPostsdbo.UserProfile。并且列的名称也包含在方括号中,如:[UserProfile]

为什么使用这个支架?

1 个答案:

答案 0 :(得分:3)

括号用于包围SQL Server中的名称(它们的服务目的与双引号相同)。

对于由字母数字字符和下划线组成的名称,不要以数字开头,也不是保留字,不需要方括号。它们通常用于具有“不规则”名称的列,例如[Column Name](注意空格)或保留字[from]

当SQL Server生成代码时,(在我看来)使用方括号过于保守。它将它们用于create table语句中的所有列名,表名甚至类型名。因为我从不在我的名字中使用“不规则”字符,所以我发现所有括号都是不必要的混乱。

dbo是一种称为架构的东西。 SQL Server对数据库中的表使用三部分命名约定:...数据库名称默认为当前数据库(如果不存在)。架构默认为dbo(或其他默认架构,如果已更改,几乎从不)。并且,有一个四部分命名约定,其中第一部分是服务器名称。