0

我一直在使用 SQL Server CE 一段时间。在那个数据库中,表名就像 UserPosts, UserProfile

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

为什么要用这个支架?

4

1 回答 1

3

括号用于在 SQL Server 中将名称括起来(它们的用途与双引号相同)。

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

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

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

于 2013-08-18T22:16:51.997 回答