我需要輸入一個由逗號分隔的數字字符串,然後這些數字將被插入Oracle表中並附帶一些其他信息。INSERT用戶輸入標準到表
我有以下代碼將字符串和它分離成單獨的數字,然後可以做一個INSERT,但不知道如何循環所需的次數來將每個輸入的數字插入單獨的Oracle表中的行。
任何人都可以幫忙嗎?
DECLARE
stores VARCHAR2 (1000) := '&3';
cnt number;
BEGIN
select count(*) into cnt from (
SELECT REGEXP_SUBSTR (stores,
'[^,]+',
1,
LEVEL)
FROM DUAL
CONNECT BY REGEXP_SUBSTR (stores,
'[^,]+',
1,
LEVEL)
IS NOT NULL);
DBMS_OUTPUT.put_line ('Stores in list : ' || cnt);
END;
/
威廉,你的代碼有「作爲商店」,這是一個新的變量?是否應該宣佈? – Dean
[cursor for loop](https://docs.oracle.com/database/121/LNPLS/cursor_for_loop_statement.htm)根據其遊標隱式定義記錄,因此記錄「r」將爲每個列查詢。在這種情況下,只有一列,「商店」。 –
謝謝,昨天晚上我沒有看到我需要使用r,但今天早上看到它,現在有完整的代碼,可以啓動並提供給我的用戶。再次感謝。 – Dean