sql - SQL 错误:ORA-00936:缺少表达式 00936。00000 -“缺少表达式” *原因:*操作:
问题描述
我正在尝试编写一个更新语句,将下多个订单的客户的密码更改为优秀,其中包含所有小写字符:
UPDATE customers_mgs
SET password = 'excellent'
WHERE customer_id = SELECT customer_id FROM customers_mgs WHERE count(>1 group by customer_id)
但我不断收到此错误消息:错误报告 - SQL 错误:ORA-00936:缺少表达式 00936。00000 -“缺少表达式”
解决方案
您需要围绕子查询的括号。据推测,您还想要IN
而不是=
:
UPDATE customers_mgs
SET password = 'excellent'
WHERE customer_id IN (SELECT customer_id
FROM customers_mgs
GROUP BY customer_id
HAVING COUNT(*) > 1
);
推荐阅读
- eclipse - 将maven结构映射到Eclipse结构,然后用JDT分析
- openlayers-5 - Openlayers 5 - 如何仅设置 1 个具有不同图标/图像的标记?
- sql-server - .Net Core 2 - 种子数据和通过迁移更新
- mysql - 连接两个表,其中一个表名在另一个表内
- html - 播放新音频时如何使所有其他音频播放器停止?(Angular)
- regex - 替换四位数熊猫
- reactjs - reactjs中如何在Router Link(菜单导航)中传递多个状态
- python - 在 python 中运行 fortran 子例程时出现奇怪的错误
- php - 由于未正确配置 htaccess 文件,POST 无法正常工作
- java - 使用 Javamail 无法接收来自 POP3 GMAIL 的邮件,出现 SSLHandshakeException