如何通过for循环插入多条记录

问题描述 投票:0回答:1

我正在寻求有关将多条记录插入 Oracle 表中的帮助。用户在文本框中指定记录的数量。我尝试使用特定的代码,但它给了我一个错误。我将不胜感激有关如何使用变量限制插入多个记录的任何想法。请检查提供的代码。

DECLARE

  --v_invoice_num NUMBER := 50;      
  v_invoice_num NUMBER := :text10;      
  
 BEGIN
  
  --FOR rec in Get_Items(v_invoice_num) LOOP    both line give me error 
    FOR rec in v_invoice_num LOOP
  insert into test2 values('testing the code');
  END LOOP;
 END ;

oracle forms
1个回答
0
投票

您可以使用

FOR rec in 1 .. v_invoice_num LOOP

DECLARE
  --v_invoice_num NUMBER := 50;      
  v_invoice_num NUMBER := :text10;      
BEGIN
  FOR rec in 1 .. v_invoice_num LOOP
    insert into test2 values('testing the code');
  END LOOP;
END;
/

但是您不需要 PL/SQL 或循环,并且可以使用单个 SQL 语句:

INSERT INTO test2 (column_name)
  SELECT 'testing the code'
  FROM   DUAL
  CONNECT BY LEVEL <= :text10;

小提琴

© www.soinside.com 2019 - 2024. All rights reserved.