Sql Server 2005在列名称周围放置方括号

时间:2009-09-04 15:19:36

标签: sql sql-server sql-server-2005

我最近将数据库从Sql Server 2000移动到Sql Server 2005.在表设计器中,它坚持在名为“Content”的列周围放置方括号我没有在Sql的保留字列表中看到Content服务器,所以我不明白它为什么这样做。有没有办法阻止它?

3 个答案:

答案 0 :(得分:12)

在定义带有架构的XML列时,CONTENT是一个关键字。

请参阅here

编辑:MSDN链接中断(根据Champ的评论),所以这是相关的摘录:

  

创建类型化XML列就像在括号中添加模式名一样简单,如下所示:

     

CREATE TABLE Foo(FooID INT, someXml XML(CONTENT FooSchema))

     

此语句指示someXml列必须遵循名为FooSchema的XML架构集合。您可以通过分别包含适当的关键字DOCUMENTCONTENT来指定XML必须是文档,还是可以包含片段。如果省略,则默认为CONTENT

答案 1 :(得分:3)

问题是该字段与表的名称相同。 Sql Server 2000似乎并不关心这种潜在的歧义,但Sql Server 2005确实如此。当我将名为Content的字段添加到未命名为Content的表时,方括号不会出现。

帕梅拉

答案 2 :(得分:0)

不,你无法阻止它。您始终可以在列名称周围添加方括号,这样就不会有任何损害。