怎么样了,
我正在使用INNER JOIN在 Oracle ( Update ) 中执行一条语句,但我无法做到。这是我正在使用的代码:
UPDATE A
SET A.status = '2', target_date=SYSTIMESTAMP
FROM Table_A A INNER JOIN TABLE_B B
ON A.employee_number=B.employee_number and A.course_number=B.course_number
WHERE A.status = '1' and NVL(B.employee_number,'')=''
执行语句时出现的错误如下:
SQL Error: ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
我真的不知道我做错了什么。对我的问题有什么建议吗?
干杯
带有 JOIN 语法的 UPDATE 更典型的 SQL Server。在 Oracle 中,它不受支持。
我无法对其进行测试,但它应该是这样的:
另外的选择:
这部分 NVL(B.employee_number,'')='' 对我来说似乎很好奇,我不知道这是否会给您带来问题,如果您尝试使用 B.employee_number 为 null