我喜歡給波紋管(表名IDN_CONSUMERS)的表,如何對Oracle數據庫表中的列的所有數據執行字符串操作?
| 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;
這解決了這個問題。非常感謝你。 – SureshAtt