首页 > 解决方案 > 如何将 1000 行插入 Oracle 数据库

问题描述

我有这个存储过程:

create or replace procedure InsertProduct
    (product_name VARCHAR2, 
     product_price int, 
     product_description varchar2) 
as
begin
    insert into PRODUCT (name, price, description, create_date) 
    values (product_name, product_price, product_description, sysdate);
end;

我用它一次插入 1000 行:

begin
    for insert_loop in 1..1000 loop
        InsertProduct(dbms_random.string('x', 10), DBMS_RANDOM.value(low => 1, high => 100000) , dbms_random.string('x', 10));
        end loop;
        commit;
end;

delete from PRODUCT;

但是这个循环添加了随机记录,是否可以这样做来添加真实的产品记录,如果可以,怎么做?

标签: oracleloopsinsert

解决方案


是否可以这样做以添加真实的产品记录

是的,只需使用真实数据调用您的程序 1000 次。

例如:

begin
  InsertProduct('Apple',    45, 'A red fruit');
  InsertProduct('Banana',   33, 'A yellow fruit');
  InsertProduct('Cucumber', 70, 'A green vegetable');
  InsertProduct('Date',      5, 'A brown fruit');
  commit;
end;

推荐阅读