取得エラー00933. 00000で複数の列に参加 - Aleksejコメントで示唆されているように"SQL command not properly ended"
は、Oracle
UPDATE users SET
username = a.username,
groupcode = a.groupcode,
adauth = a.adauth,
userlevel = a.userlevel,
locationcd = a.locationcd,
panno = a.panno,
authrej = a.authrej,
multilogin = a.multilogin,
loginstatus = a.loginstatus,
userstatus = a.userstatus,
lupdnuser = a.lupdnuser,
lupdndt = a.lupdndt,
createdby = p_cUserId ,
createddt = SYSTIMESTAMP,
closedby = a.closedby ,
closeddt = a.closeddt ,
emailid = a.emailid ,
passwordattempt = CASE cast (a.userstatus as varchar) WHEN '01' THEN 0 ELSE a.passwordattempt END
FROM userstrans a
INNER JOIN users b ON
a.userid = b.userid
AND a.sysuserno = b.sysuserno
WHERE a.systrnno = p_nSysTrnNo
AND a.trnmode = 'EDIT'
AND a.trnid = 'N';
内部結合による更新文は、Oracleではサポートされません。 from節も。したがって、mergeを使用してください。 – Buddi
この方法でUPDATEを使用することはできません。 [merge](http://docs.oracle.com/database/121/SQLRF/statements_9016.htm#SQLRF01606)をご覧ください。 – Aleksej
@Buddi - これは真実ではありません。 Oracle **は内部結合を使用してUPDATEをサポートしています**正しく実行する必要があります。私は、なぜOracleがジョインでUPDATEをサポートしていないと思う人が非常に多いのか理解していません(そして、悪いことに、間違った知識を世界と共有することは大丈夫です)。それを繰り返さないでください。 – mathguy