在存储过程中经常会有

Sql代码  
  1. SET QUOTED_IDENTIFIER on
  2. SET QUOTED_IDENTIFIER off

这样的语句,那么SET QUOTED_IDENTIFIER到底是什么意思,有什么用呢,今天下午仔细的看了一下。

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

Sql代码  
  1. create table distinct(
  2. id int not  null constraint pk_1 primary   key,
  3. value varchar(255),
  4. flag int
  5. )

上面的语句运行是会出错的,不管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标识符为表名的表,但是加单引号也是不可以的。

Sql代码  
  1. create table "distinct"(
  2. id int not  null constraint pk_1 primary   key,
  3. value varchar(255),
  4. flag int
  5. )

可以运行

Sql代码  
  1. create table ‘distinct’(
  2. id int not  null constraint pk_1 primary   key,
  3. value varchar(255),
  4. flag int
  5. )

不可以运行

sql Server中SET QUOTED_IDENTIFIER的使用的更多相关文章

  1. .SQL Server中 image类型数据的比较

    原文:.SQL Server中 image类型数据的比较 在SQL Server中如果你对text.ntext或者image数据类型的数据进行比较.将会提示:不能比较或排序 text.ntext 和 ...

  2. access数据库转sql server中ID的问题

    USE [Task] GO /****** Object: Table [dbo].[Task] Script Date: 04/16/2018 16:14:56 ******/ SET ANSI_N ...

  3. 使用T-SQL导入多个文件数据到SQL Server中

    在我们的工作中,经常需要连续输入多个文件的数据到SQL Server的表中,有时需要从相同或者不同的目录中,同时将文件中的数据倒入.在这篇文章中,我们将讨论如何同时把一个目录中的文件的数据倒入到SQL ...

  4. 实现SQL Server中的切割字符串SplitString函数

    有时我们要用到批量操作时都会对字符串进行拆分,可是SQL Server中却没有自带Split函数,所以要自己来实现了.没什么好说的,需要的朋友直接拿去用吧 SET ANSI_NULLS ON GO S ...

  5. Sql Server中使用特定字符分割字符串

    在T-SQL中我们经常批量操作时都会对字符串进行拆分,可是SQL Server中却没有自带Split函数,所以要自己来实现了.这里将字符串分割以table形式输出 语法如下: SET ANSI_NUL ...

  6. SQL Server中的高可用性(2)----文件与文件组

        在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...

  7. SQL Server中SELECT会真的阻塞SELECT吗?

    在SQL Server中,我们知道一个SELECT语句执行过程中只会申请一些意向共享锁(IS) 与共享锁(S), 例如我使用SQL Profile跟踪会话86执行SELECT * FROM dbo.T ...

  8. Microsoft SQL Server中的事务与并发详解

    本篇索引: 1.事务 2.锁定和阻塞 3.隔离级别 4.死锁 一.事务 1.1 事务的概念 事务是作为单个工作单元而执行的一系列操作,比如查询和修改数据等. 事务是数据库并发控制的基本单位,一条或者一 ...

  9. SQL Server中TOP子句可能导致的问题以及解决办法

    简介      在SQL Server中,针对复杂查询使用TOP子句可能会出现对性能的影响,这种影响可能是好的影响,也可能是坏的影响,针对不同的情况有不同的可能性.      关系数据库中SQL语句只 ...

随机推荐

  1. 讨论贴:在sp_executesql 中生成的临时表的可见性

    首先创建数据表 IF object_id('TestTable') IS NOT NULL DROP TABLE TestTable GO ,),Info )) GO INSERT TestTable ...

  2. LintCode First Bad Version

    找出第一个出问题的version. /** * public class SVNRepo { * public static boolean isBadVersion(int k); * } * yo ...

  3. js DIV延时几秒后消失或显示代码

    1.最常用的方法:  代码如下 复制代码 <script language='javascript' type='text/javascript'> $(function () {     ...

  4. iOS常用设计模式和机制之代理

    Delegate : 1 代理设计模式的使用我们首先需要明白三个要素 *委托方:委托别人去执行某些操作的人(对象) *代理方:被委托区执行某些操作的人(对象) *协议:(protocol)委托方需要代 ...

  5. window.location 小结)

    其实在网上都能找到,我只是总结一下,方便自己查找使用 示例URL:http://b.a.com:88/index.php?name=kang&when=2011#first 属性     含义 ...

  6. unity, 播放循环背景音乐注意事项

    循环背景音乐用wav格式,不要用mp3. 参考:http://answers.unity3d.com/questions/343057/how-do-i-make-unity-seamlessly-l ...

  7. Centos 7 通过挂载系统光盘搭建本地yum仓库的方法

    实验环境:CentOS 7 1:在media文件下创建一个目录  #创建一个www文件 cd /media/www 2: 挂载光盘,将光盘挂载在刚才创建的www文件下 mount /dev/cdrom ...

  8. [转]Windows多进程编程

    转自:http://blog.csdn.net/bxhj3014/article/details/2082255 一.进程的概念       进程是是一个正在运行的程序的实例(飘---),是系统分配资 ...

  9. Redis入门(一)系统安装

    硬件环境:Thinkpad T450,Intel i5-5200U CPU @ 2.20GHz × 4 ,8GB RAM 软件环境: ubuntu 14.04.4 (trusty) 一.软件安装 #w ...

  10. JS教程:获取当前地址栏URL

    URL即:统一资源定位符 (Uniform Resource Locator, URL) 完整的URL由这几个部分构成:scheme://host:port/path?query#fragment s ...