我需要输入一个由逗号分隔的数字字符串,然后这些数字将被插入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