oracle - 使用 Join 更新 oracle 查询问题
问题描述
我不明白为什么它给出的 Sql 命令没有正确结束,
Update Table1
Set LS.SECU_CHECKER_CODE = '1000',
LS.SECU_CHECKER_DATE = To_Char(SysDate, 'YYYYMMDDHH24MISS'),
LS.SECU_RECORD_STATUS = 98
From Table1 LS
Join Table2 LS2
On LS2.SECC_SECURITY_ID = LS.SECU_SECURITY_ID
Where LS2.SECC_LIMIT_ID = '00010101010101';
解决方案
从视图更新的语法在 Oracle 中与您使用的语法不同。但是,在您的情况下,您甚至不应该从视图进行更新,因为您没有使用其他表的内容,而只是检查是否存在您应该使用EXISTS
or的记录IN
:
update table1
set secu_checker_code = '1000'
, secu_checker_date = to_char(sysdate, 'yyyymmddhh24miss')
, secu_record_status = 98
where secu_security_id in
(
select secc_security_id
from table2
where secc_limit_id = '00010101010101'
);
推荐阅读
- python-3.x - 为什么'del'在不同的情况下工作方式不同?请指导
- ansible - 没有找到预期
- django - Django 'FloatField' 不可调用
- laravel - 如何在 Laravel 中使用 GET 请求注销
- node.js - 尝试使用 AWS Lambda 和 Mailgun 发送交易电子邮件时的奇怪行为
- openbravo - Openbravo:不能
- stenciljs - Stencil dev 构建样式问题
- kali-linux - 如何卸载使用 dpkg 安装的软件包
- bash - 具有无限循环的 Linux bashscript 在一段时间后停止工作
- python - 如何清除循环内运行的池使用的内存?