Oracle:UPDATE语句导致ORA-00933错误

Oracle:UPDATE语句导致ORA-00933错误,oracle,Oracle,有人能看出这句话有什么不对吗?我已经尝试了一段时间来修复它,但没有效果,我在网上找到的答案坚持认为我需要删除ORDERBY语句,这是我没有使用的 BEGIN UPDATE Tags SET MaskReasonId = v_MaskReasonId, AppliedTime = v_AppliedTime, ExpireTime = v_ExpireTime,

有人能看出这句话有什么不对吗?我已经尝试了一段时间来修复它,但没有效果,我在网上找到的答案坚持认为我需要删除ORDERBY语句,这是我没有使用的

BEGIN
   UPDATE        Tags
     SET           MaskReasonId = v_MaskReasonId,
                    AppliedTime = v_AppliedTime,
                    ExpireTime = v_ExpireTime,
                    UserId = v_UserId,
                    ClientNode = v_ClientNode,
                    CommentId = v_CommentId
     FROM          Tags
     WHERE         Tag = v_sTag OR Tag = v_Tag;
END;

您必须从标记中删除
您必须从标记中删除
Oracle不支持update语句中的“from”构造,请尝试以下操作:

BEGIN
   UPDATE        Tags
     SET           MaskReasonId = v_MaskReasonId,
                    AppliedTime = v_AppliedTime,
                    ExpireTime = v_ExpireTime,
                    UserId = v_UserId,
                    ClientNode = v_ClientNode,
                    CommentId = v_CommentId
     WHERE EXISTS (SELECT * FROM Tags WHERE Tag = v_sTag OR Tag = v_Tag);
END;

Oracle不支持update语句中的“FROM”构造,请尝试以下操作:

BEGIN
   UPDATE        Tags
     SET           MaskReasonId = v_MaskReasonId,
                    AppliedTime = v_AppliedTime,
                    ExpireTime = v_ExpireTime,
                    UserId = v_UserId,
                    ClientNode = v_ClientNode,
                    CommentId = v_CommentId
     WHERE EXISTS (SELECT * FROM Tags WHERE Tag = v_sTag OR Tag = v_Tag);
END;

Oracle不支持UPDATE FROM语句,但支持UPDATE SELECT。试试这个。对于此查询,Nodes.NodeID必须是Nodes表中的主键。我猜v_MaskReasonId,。。。是来自节点(?)的字段:


Oracle不支持UPDATE FROM语句,但支持UPDATE SELECT。试试这个。对于此查询,Nodes.NodeID必须是Nodes表中的主键。我猜v_MaskReasonId,。。。是来自节点(?)的字段:


你不能在更新语句中使用
join
。为@Ben的快速响应干杯。我已删除了
内部联接
,但仍会出现错误。在删除联接之后,您是否也更新了where子句?是的,我现在正在检查
WHERE Node=v_Node编辑:刚刚意识到我不再把那个表加入这个表了。我已切换到Tag where子句,但oracle仍然不支持joyFrom标记。您不能在更新语句中使用
join
。为@Ben的快速响应干杯。我已删除了
内部联接
,但仍会出现错误。在删除联接之后,您是否也更新了where子句?是的,我现在正在检查
WHERE Node=v_Node编辑:刚刚意识到我不再把那个表加入这个表了。我已经切换到tagwhere子句,但oracle仍然不支持joyFrom标记。