ant*_*989 1 sql database oracle
我正在尝试通过附加字符串'999'来更新多行中的单个列:
UPDATE integration.ol_orders
SET order_id = ((SELECT order_id
FROM integration.ol_orders
WHERE status = 2) || '999')
WHERE status = 2
Run Code Online (Sandbox Code Playgroud)
但无论出于何种原因,我不断收到错误"ORA-01427:单行子查询返回多行提示".
所以,当我迭代我的n行时,我正在尝试:
a1 = a1 || '999'
a2 = a2 || '999'
a3 = a3 || '999'
an = an || '999'
Run Code Online (Sandbox Code Playgroud)
有什么建议怎么办?
编辑:将'+'更改为'||',仍然没有运气
子查询看起来不必要,只是这样做应该工作:
UPDATE integration.ol_orders
SET order_id = order_id || '999'
WHERE status = 2
Run Code Online (Sandbox Code Playgroud)
如果我记得正确的Oracle ||用于连接.order_id如果它是一个整数,可能有必要将其转换为字符类型,我不确定这一点,目前无法测试它.(转换应该是注释中所述的隐式转换,否则您可以使用TO_CHAR()它来显式转换).
确保在运行之前有表的备份或副本...
| 归档时间: |
|
| 查看次数: |
1463 次 |
| 最近记录: |