tan
站在牛顿头上吃苹果的程序员

   处理好安装包后、测试反馈出现重复数据库时不能正常删除、发现这一问题后进行跟踪调试、发现问题出在数据库名为数字时无法正常删除。

    如下两句语句数据库中都相应存在“111”和"DATA_NAME"数据库、但语句一将会报错。

1.DROP DATABASE 111  ('111' 附近有语法错误。)
2.DROP DATABASE DATA_NAME  

    那么发现这一问题、稍有经验的朋友就会发现只要在111中加"[]"即可、那么可见[]在sql中是不可或缺的一部分、往往是一些细节方面会导致开发中出现一些多余缺陷、接下来将阐述[]相关用法和概念:

   一般加[ ]用于定界列名或表名等信息,以区别一些特殊的不合命名规则的字串,或是与系统保留字有冲突。 如果表名不是关键字,如DATA_NAME ,则用"select * from DATA_NAME "是没问题的、但如果使用的是关键字如user是SQL Server保留的关键字,所以用select * from user查询会提示语法错误、针对这种问题我们如何进行解决呢?
    那么我们可以加上中括号,以声明其不是保留字。[]里的内容表示的是一个用户级的变量.目的是防止用户使用的名称和系统保留字冲突、就如我们在进行查询语句编写时出现select * from [关键字]这类的语句会无错、所以一般我们最好在进行查询是所有的表名字段名都可以加[]。
posted on 2011-01-11 17:09  tanliang  阅读(361)  评论(0编辑  收藏  举报