我有一张像下面这样的表(表名 IDN_CONSUMERS),
| USER_ID | USERNAME |
| 001A | ABC/Anne |
| 034K | ABC/John |
| DF23 | ABC/Peter |
我需要删除所有用户名的 ABC/ 部分并将修改后的值放回表中,所以最终结果应该是这样的,
| USER_ID | USERNAME |
| 001A | Anne |
| 034K | John |
| DF23 | Peter |
我尝试了以下脚本,但由于我不明白的原因它不起作用。谁能帮我解决这个问题?
DECLARE
NEWUSERNAME VARCHAR2(512);
BEGIN
FOR ID IN (SELECT USER_ID FROM IDN_CONSUMERS) LOOP
SELECT SUBSTR((SELECT USERNAME FROM IDN_CONSUMERS WHERE USER_ID='||ID||'), 4) INTO NEWUSERNAME FROM DUAL;
UPDATE IDN_CONSUMERS SET USERNAME='||NEWUSERNAME||' WHERE USER_ID='||ID||';
END LOOP;
END;