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)


相关推荐

  • Python 深入浅出 – PyPDF2 处理 PDF 文件

    Python 深入浅出 – PyPDF2 处理 PDF 文件实际应用中,可能会涉及处理pdf文件,PyPDF2就是这样一个库,使用它可以轻松的处理pdf文件,它提供了读,割,合并,文件转换等多种操作。文档地址:http://pythonhosted.org/PyPDF2/PyPDF2安装PyCharm安装:File->DefaultSettings->ProjectInterpreterPdfFileR

  • 高手入门STM32总结+学习步骤

    高手入门STM32总结+学习步骤一、入门总结1.1为什么要把时间花在“犹豫”上?每当我们在入门之前(ARM是这样,DSP也一样),总会有很多疑问,会有很多顾虑。我们渴望知道学习STM32前景如何?需要啥基础?难不难?适不适合我?但是什么时候能心潮澎湃地、相当着急地开始学STM32?日子在一天一天过去!你开始行动了吗?没有行动的思索,永远都不可能入门!把这些时间用来看书吧,效果能好一万倍。大家可能是从51单片机过来的,回想一…

  • C++:cstdio 头文件详解

    C++:cstdio 头文件详解<cstdio>(stdio.h)headerC库执行输入/输出操作:输入和输出操作也可以在C++实现,通过使用C标准输入和输出库(cstdio,在C语言中称为stdio.h)。这个库使用流来操作物理设备如键盘,打印机,终端或者系统支持的任何其他类型的文件。流是一种以统一的方式与这些交互的抽象; 所有流都具有相似的属性,与它们所关联的物理介质的各个特征无关。流…

    2022年10月23日
  • R语言和数据分析十大:购物篮分析

    R语言和数据分析十大:购物篮分析

  • 最简单的纯js实现点击展开二级菜单功能

    最简单的纯js实现点击展开二级菜单功能虽然,jQuery已经非常好用了,但是实际的开发项目中,还是有很多限制,比如项目组奇葩的要求,不能使用任何插件,当然,也是考虑插件占用资源,毕竟100+KB对与小型项目来说还是非常大的。我最近就遇到做个点击展开二级菜单的要求,当然只能用原生的JS去写来实现,我借鉴了网上的一个案例,补充一下,分享一下:如果,默认打开页面进来时二级菜单是隐藏的,需要点击才能展现二级菜单,再点击就是隐藏二级菜单。这

  • 软件测试缺陷报告_软件测试缺陷分析

    软件测试缺陷报告_软件测试缺陷分析软件缺陷一、软件缺陷定义二、常见的软件缺陷三、软件缺陷产生原因四、软件缺陷的生命周期五、软件缺陷报告应包含的内容六、缺陷报告模板七、企业案例分析案例1缺陷描述案例2缺陷标题提炼Author:lucky多多转载请注明出处!一、软件缺陷定义软件缺陷是计算机或程序中存在的会导致用户不能或者不方便完成功能的问题、错误、或者隐藏的功能缺陷。缺陷的存在会导致产品在某种程度上不能满足用户的需要IEEE…

发表回复

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

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