【发布时间】:2015-08-14 04:51:45
【问题描述】:
我有这个 oracle 命令。
UPDATE TABLE_NUMBERS
SET mdn = concat(concat(substr(mdn,1,2),`9`,substr(mdn,3,9))
WHERE mdn LIKE `8%` AND LENGTH(mdn)=10;
如果数字以 8 开头并且有 10 位,我必须将数字 9 放在 3 的位置。
假设我有8187412868,它将是81987412868。
但是81987412868 和8187412868 已经摆在桌面上了。
在这种情况下,不需要更新或删除,但我想忽略唯一约束错误来执行整个查询。
喜欢
if (concat(concat(subsrtr(mdn,1,2),`9`,substr(mdn,3,9))
WHERE mdn LIKE `8%` AND LENGHT(mdn)=10)
already on the table, then ignore
else
execute....
【问题讨论】:
标签: sql oracle select oracle11g oracle10g