我想运行如下的查询:
UPDATE I
SET I.CAP_NAME = S.CAP_NAME
FROM INSURED_FARMERS I
INNER JOIN INDIAN_STATES_REGION S
ON UPPER(I.STATE_NAME_FI) = UPPER(S.STATE_NAME)
但它抛出一个错误:sql错误ora-00933 sql命令没有在线正确结束: SET I.CAP_NAME = S.CAP_NAME
答案 0 :(得分:1)
我认为您不能使用JOIN在Oracle中编写UPDATE语句。
UPDATE INSURED_FARMERS I
SET I.CAP_NAME = ( SELECT S.CAP_NAME
FROM INDIAN_STATES_REGION S
WHERE UPPER(I.STATE_NAME_FI) = UPPER(S.STATE_NAME) )
WHERE EXISTS ( SELECT S.CAP_NAME
FROM INDIAN_STATES_REGION S
WHERE UPPER(I.STATE_NAME_FI ) = UPPER(S.STATE_NAME) )
答案 1 :(得分:1)
见这里:stackoverflow
你可以两种方式:
UPPER(I.STATE_NAME_FI) = UPPER(S.STATE_NAME)
)连接,则使用内联视图