SQL Server中SET QUOTED_IDENTIFIER的使用

SQL Server中SET QUOTED_IDENTIFIER的使用

大家好,又见面了,我是全栈君。

SQL Server中SET QUOTED_IDENTIFIER的使用

 

 

在存储过程中经常会有
SET QUOTED_IDENTIFIER on
SET QUOTED_IDENTIFIER off

如果SET QUOTED_IDENTIFIER on时,在创建一个表时,如果这个表的表名,刚好用到了sqlserver的关键字,如下面的情况

create table distinct(
id int not null constraint pk_1 primary key,
value varchar(255),
flag int
)

上面的语句运行是会出错的,不管SET QUOTED_IDENTIFIER为on还是off,会提示 在关键字 ‘distinct’ 附近有语法错误。

那是因为distinct是sqlserver的标识符,如果想以distinct为表时,在QUOTED_IDENTIFIER为off的情况下,是不能创建表名为distinct的表的,因为在QUOTED_IDENTIFIER为off情况下,sqlserver的标识符是不允许加引号的,所以在
SET QUOTED_IDENTIFIER off的情况下,不管distinct加引号或不加引号或加双引号都是不可以的。

但是在 SET QUOTED_IDENTIFIER on 的情况下是可以把sqlserver的标识符加上双引号来创建以sqlserver标识符为表名的表,但是加单引号也是不可以的。

create table “distinct”(
id int not null constraint pk_1 primary key,
value varchar(255),
flag int
)

可以运行

create table ‘distinct’(
id int not null constraint pk_1 primary key,
value varchar(255),
flag int
)

不可以运行

 

当 SET QUOTED_IDENTIFIER 为 ON 时,标识符/数据库内关键字可以由双引号括着。当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,加了引号也没有用,且必须符合所有 Transact-SQL 标识符规则。

 

SELECT SESSIONPROPERTY(‘QUOTED_IDENTIFIER’) quotedidentifier
默认为on

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108273.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 集群分为几种,用的软件分别是什么?[通俗易懂]

    集群分为几种,用的软件分别是什么?[通俗易懂]集群分为几种,用的软件分别是什么?补充:涉及的组件1.1、apache跨平台的网页服务器,主要使用它做静态资源服务器,也可以做代理服务器转发请求1.2、ngnix高性能的HTTP和反向代理服务器,ngnix处理能力相当于apache的10倍。1.3、lvsLinux虚拟服务器,可以实现LINUX平台下的简单负载均衡1.4、HAProxy提供高可用性、负载均衡以及基于TCP和HT…

    2022年10月10日
  • 史上最简单MySQL教程详解(基础篇)之多表联合查询

    史上最简单MySQL教程详解(基础篇)之多表联合查询常用术语表连接的方式数据准备student表college表内连接外连接左外连接右外连接注意事项:自连接子查询在上篇文章史上最简单MySQL教程详解(基础篇)之数据库设计范式及应用举例我们介绍过,在关系型数据库中,我们通常为了减少数据的冗余量将对数据表进行规范,将数据分割到不同的表中。当我们需要将这些数据重新合成一条时,就需要用到我们介绍来将…

  • scrollIntoView 与 scrollIntoViewIfNeeded API 介绍

    scrollIntoView 与 scrollIntoViewIfNeeded API 介绍本文转自:scrollIntoView与scrollIntoViewIfNeededAPI介绍根据MDN的描述,Element.scrollIntoView()方法让当前的元素滚动到浏览器窗口的可视区域内。而Element.scrollIntoViewIfNeeded()方法也是用来将不在浏览器窗口的可见区域内的元素滚动到浏览器窗口的可见区域。但如果该元素已经在浏览器窗口的可见区域…

  • oracle中sequence是什么意思_consequence的用法

    oracle中sequence是什么意思_consequence的用法在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。1、CreateSequence首先要有CREATESEQUENCE或者CREATEANYSEQUENCE权限。创建语句如下:sql;”>CREATESEQUENCEseqTestINCREMENTBY1–每次加几个STARTWITH1–从1开始计数NOMAXva…

    2022年10月19日
  • javascript常见编程模式举例

    javascript常见编程模式举例

    2021年11月16日
  • centos安装指定版本docker或软件

    centos安装指定版本docker或软件

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号