首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL - UPDATE命令在使用LIKE时失败

SQL - UPDATE命令在使用LIKE时失败
EN

Stack Overflow用户
提问于 2014-04-29 17:31:05
回答 1查看 66关注 0票数 0

我正在对表中的列执行批量更新。我需要将当前日期从NULL更改为过去的日期。我知道,在对单个帐户执行操作时,它工作得很好。但是当使用通配符时,这似乎失败了。

你知道我的问题是什么吗,我能不能在子查询中不使用LIKE ..

代码语言:javascript
复制
SET message.archived_at = (SELECT TO_CHAR(systimestamp-31, 'DD-MON-YY HH.MI.SS')
FROM dual)
WHERE EXISTS = (SELECT entity_id FROM user_info
WHERE UPPER(user_info.directory_auth_id) like 'USER%')

我有10,000条记录需要更新。

我已更改为

更新消息集message.archived_at = (SELECT TO_CHAR(systimestamp 31,'DD-MON-YY HH.MI.SS') FROM dual) WHERE EXISTS (SELECT entity_id FROM user_info WHERE UPPER(directory_auth_id) like 'JLOADUSER1001%')

WHERE EXISTS部分中的SELECT查询在单独运行时将返回10个用户ID。但是当整个查询运行时,这将更新180万行。预期结果为~1500行。

EN

回答 1

Stack Overflow用户

发布于 2014-04-29 17:35:36

允许在Oracle子查询和UPDATE语句中使用LIKE子句。看起来错误的一行是:

代码语言:javascript
复制
 WHERE EXISTS = (SELECT entity_id FROM user_info

使用:

代码语言:javascript
复制
 WHERE EXISTS  (SELECT entity_id FROM user_info

相反,

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23360787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档