1、通过sqlserver数据库管理工具,创建的存储过程的大致结构如图所示,在代码的最前面默认会有一个 SET QUOTED_IDENTIFIER ON 的语句,但是,这句话到底有什么用呢?或许很多人都不太明白
2、下面开始演示这个语句的作用。在sql server management studio管理工具中点击【新建查询】,创建一个新的sql语句书写窗口,后续的所有sql语句,都在这个新的窗口中演示
3、开启SET QUOTED_IDENTIFIER ON,然后试着创建一个表名字为distinct的表,当写完sql,就可以看到distinct下面有一道红色的波浪线,这就表示有语法错误了
4、点击上面菜单的 勾勾 图标,检查当前窗口中的sql语法是否正确。从检测结果可以看出,当开启SET QUOTED_IDENTIFIER ON的时候,distinct与系统关键字重复了不能通过
5、假设开启SET QUOTED_IDENTIFIER ON,而且一定要创建distinct为名字的表名,这个时候就可以使用双引号了,将distinct括起来即可。写完之后,点击执行按钮,就可以看到这个表创建成功了
6、关闭SET QUOTED_IDENTIFIER OFF,此时distinct虽然有双引号括起来,仍然会报语法错误的,sql语句不会得到执行
7、关闭SET QUOTED_IDENTIF诔罨租磊IER OFF,如果去掉distinct括起来的双引号,仍然会报语法错误,sql语句还是不会得到执行。总结:1)SET QUOTED_IDENTIFIER ON:与系统关键字重复的,允许使用双引号括起来,就能正常使用。注意是双引号2)SET QUOTED_IDENTIFIER OFF:与系统关键字重复的,不允许使用