sql server 建立表时,表明为什么加"[ ]"?如create table [dbo].[nId]

sql server 建立表时,表明为什么加"[ ]"?如create table [dbo].[nId],第1张

用方括号可以避免你创建的表,或查询与一些SQL SERVER自带的关键字发生冲突。

例如你要用SQL 语句创建一个表,其中有一个字段名称为 Key,这时候这条语句就有可能报错,如果加上方括号就可以成功的创建。 对于数据库表名称来说也是这个道理。当然如果你数据库设计的时候避免了上面说的情况,那么不加方括号也没问题的, 一般还是建议习惯加上方括号。这样可以避免很多潜在的隐蔽性比较强的错误,有时候我编程的时候就会碰到这样的情况。 程序报错了,但是呢把生成的SQL 语句拿到查询分析器里面又检查不出语法错误,还可以运行。但是放到代码中就不行了。找了半天才找到原因。

SQL中的列名上加中括号是为了防止某些关键字在应用中引起歧义,如果加上中括号,则代表这是一个列名,而不是关键字。

如:

表中有一个字段叫select,而select是SQL中的一个关键字,如果直接写作:

select select from 表名

那么语句是会报错的。

如果加上中括号,数据库则能识别:

select [select] from 表名

另外:不仅列名可加中括号,包括表名,存储过程名,函数名等都可以按需要加中括号。

表名为WGS_Dome这里用不用方括号作用不明显,

但如果表名是WGS Dome,这里就必须要用括号括起来了,因为当中有空格,sql不知道你的表名是WGS 还是Demo还是WGS Demo,你用括号括起来,他就能准备的知道你的表名是[WGS Demo]


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9540592.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存