gpt4 book ai didi

mysql - 在 SQL Server 的 MySQL 服务器上使用 EXECUTE ('UPDATE..' ) 时出现错误

转载 作者:行者123 更新时间:2023-11-29 10:37:32 24 4
gpt4 key购买 nike

我打算这样做:

EXECUTE('UPDATE tableA SET campaignkey = ''20170101'' where storekey = 16
and campaignkey LIKE ''%,%''') at MYLINKEDSERVER

但我收到错误:

You have an error in your SQL syntax; [...] for the right syntax to use near 'where storekey = 16 and campaignkey LIKE '%,%''

有谁知道出了什么问题吗?对我来说,我的 LIKE 语句中可能有太多 ' ,但我总是使用 '' 来表示非-数值。我不想摆弄这个以防止更新该服务器上太多的值。

campaignkey 是非数字(我相信 varchar),storekey 是整数。

编辑

我不能使用 OPENQUERY(),因为它设置不正确,这是一个紧急更新。

编辑2

似乎是因为 EXECUTE 语句中的撇号'

当我进行时:

select * from openquery(linkedserver,'Select * from tableA where storekey = 16 
and campaignkey = ''20170826,151''')

它可以工作,但是使用时:

EXECUTE('Select * from tableA where storekey = 16 
and campaignkey = ''20170826,151''') at linkedserver

我收到错误,需要通过 where 子句检查手册。然而,从谷歌搜索看来,实际上正确的语法是:

EXECUTE('UPDATE TableX SET StringVar = ''stringValue'' WHERE intVar = 3 
AND stringVar = ''xxxxx''') AT LinkedServer

我不知道为什么这对我不起作用。我尝试了 '''" 等的多种组合。

最佳答案

这个怎么样?

update openquery(linkedserver,'Select * from tableA where storekey = 16 
and campaignkey = ''20170826,151''')
set campaignkey = '20170101'

关于mysql - 在 SQL Server 的 MySQL 服务器上使用 EXECUTE ('UPDATE..' ) 时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46149502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com