oracle 用存储过程向表插入数据的问题

2025-04-02 04:27:25
推荐回答(1个)
回答1:

实际上存储过程向表中插入数据和sql执行的区别是不大的,只不过是存储过程是用loop等循环插入,之后顺序执行sql语句,不用命令行执行。

CREATE OR REPLACE PROCEDURE insert_data_4_pressure_3
 is
 
  --Result1  VARCHAR2(50);
  VAR_num number;
begin
  VAR_num:=1;
 
 while
   VAR_num< 1000000
   LOOP
      insert into rp_trans_log_day
        (trans_time,
         trans_province,
         trans_type,
         score_range,
         rule_name,
         trans_num)
        select to_date('2013/10/29', 'yyyy-mm-dd'),
               round(dbms_random.value(1, 300)) || '省',
               round(dbms_random.value(1, 800)) || '类型',
               round(dbms_random.value(1, 100)) || '风险分值',
               round(dbms_random.value(1, 300)) || '规则名称',
               '1'
          from dual;
        commit;
    VAR_num:=VAR_num+1;
    end loop;
 
end insert_data_4_pressure_3;