首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >调度SQL查询错误-Set引号标识符

调度SQL查询错误-Set引号标识符
EN

Stack Overflow用户
提问于 2015-11-12 09:51:25
回答 1查看 443关注 0票数 0

我试图安排一个sql查询失败,而我得到的错误是,

代码语言:javascript
代码运行次数:0
运行
复制
Update failed because the following SET have incorrect settings:'QUOTED_IDENTIFIER'. Verify that SET Options are correct for use with indexed views and/or indexes on computed columns and/or filtered indexes and/or query notifications and/or xml data type methods and/or spatial index operations.[SQLSTATE 42000](Error 1934).

我有这个解决方案

代码语言:javascript
代码运行次数:0
运行
复制
Add SET QUOTED_IDENTIFIER ON
before your UPDATE statements in SQL Job step.

但是,SET QUOTED_IDENTIFIER ON是做什么的?有人能给我解释一下吗?

谢谢

编辑1;我尝试了上面的查询,执行了预定的查询,但是没有更改任何字段?

查询是用的;

代码语言:javascript
代码运行次数:0
运行
复制
SET QUOTED_IDENTIFIER ON
update dbo.myTable
set name=[dbo].[functName](name);

如果我运行正常的UPDATE查询,

update dbo.myTable set name=[dbo].[functName](name);

它可以工作,字段也会改变。

为什么它不能在预定的查询中工作?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-12 09:55:37

它指定Server将如何处理以单引号和双引号定义的数据。MSDN给出了答案:

导致Server遵循有关引号、分隔标识符和文字字符串的ISO规则。由双引号分隔的标识符可以是Transact-SQL保留关键字,也可以包含Transact-SQL语法规则通常不允许的字符。

还可以查看备注部分,该部分提供了有关ON和OFF的详细信息。

当SET QUOTED_IDENTIFIER打开时,标识符可以用双引号分隔,文字必须用单引号分隔。当SET QUOTED_IDENTIFIER为OFF时,标识符不能引用,必须遵循标识符的所有Transact-SQL规则。有关更多信息,请参见数据库标识符。文字可以用单引号或双引号分隔.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33668564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档