我有这个UPDATE查询:
UPDATE secugconductorinfo
INNER JOIN tblsecugconductor
ON secugconductorinfo.CONDUCTORGUID = tblsecugconductor.globalid
SET secugconductorinfo.conductorcount = '0'
WHERE Upper(tblsecugconductor.FILE_NAME) LIKE '%Q1222_S%'
AND secugconductorinfo.conductorsize = 'Unknown'
AND secugconductorinfo.insulation = 'Unknown'
AND secugconductorinfo.material = 'Unknown'
AND secugconductorinfo.conductorcount = '1'
我想基于与tblsecugconductor的连接更新所有secugconductorinfo行的conductorcount=0
。
但我得到了:
错误报告: SQL错误:ORA-00971:缺少SET关键字00971. 00000 - “缺少SET关键字”
如何更改查询以执行此更新?
答案 0 :(得分:0)
UPDATE secugconductorinfo
SET secugconductorinfo.conductorcount = '0'
WHERE secugconductorinfo.conductorsize = 'Unknown'
AND secugconductorinfo.insulation = 'Unknown'
AND secugconductorinfo.material = 'Unknown'
AND secugconductorinfo.conductorcount = '1'
AND exists (select 1
from tblsecugconductor
where secugconductorinfo.CONDUCTORGUID = tblsecugconductor.globalid
and Upper(tblsecugconductor.FILE_NAME) LIKE '%Q1222_S%')
您应该使用exists语句来进行连接。我更正了上面的代码。
答案 1 :(得分:-1)
试试这个:
UPDATE secugconductorinfo
SET conductorcount ='0'
from secugconductorinfo aa
INNER JOIN tblsecugconductor bb
ON aa.CONDUCTORGUID =
bb.globalid
WHERE Upper(bb.FILE_NAME)
LIKE '%Q1222_S%'
AND aa.conductorsize = 'Unknown'
AND aa.insulation = 'Unknown'
AND aa.material = 'Unknown'
AND aa.conductorcount = '1'