【问题标题】:while updating the xml filed i gtting error like this在更新 xml 文件时出现这样的错误
【发布时间】:2011-06-21 05:06:03
【问题描述】:

SELECT 失败,因为以下原因 SET 选项的设置不正确: “阿里萨博特”。验证 SET 选项 适用于索引视图 和/或计算列上的索引 和/或查询通知和/或 xml 数据类型方法。

谁能说出以下语句有什么问题

while(@CountOfFile>=@Inc)
begin
    SELECT  @FileName = Attachments.value('(/Files/File[@Id=sql:variable("@Inc")]/Name/text())[1]','nvarchar(50)')  FROM   MOD_Quiz where Id = @Id
    select @FilePath = Attachments.value('(/Files/File[@Id=sql:variable("@Inc")]/FilePath/text())[1]','nvarchar(50)')  FROM   MOD_Quiz where Id = @Id

  set   @Actual_Path  =  @FilePath  +  '/' +  @Id  + '/' + @FileName 
  set  @Inc=@Inc+1

  update MOD_Quiz set Attachments.modify('replace value of (/Files/File[@Id=sql:variable("@Inc")]/FilePath/text())[1] with sql:variable("@Actual_Path") ') where Id =@Id

end

【问题讨论】:

  • 如果您发布代码、XML 或数据示例,在文本编辑器中突出显示这些行,然后单击编辑器上的“代码示例”按钮 ({ })工具栏以很好地格式化和语法突出显示它!
  • 如果您使用SQL Server,请查看我在Failed because incorrect arithabort setting 页面上的回答。希望这会有所帮助...

标签: xquery


【解决方案1】:

正如错误所说:您的SELECT 语句没有问题,但您的一般SET ARITHABORT setting 有问题。

正如this article on TechNet 解释的那样,对于索引视图或 XML 数据类型方法,您需要有 SET ARITHABORT ON。所以把这个声明放在你之前,你应该没问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多