oracle数据库如何利用存储过程向表中添加数据?

oracle数据库如何利用存储过程向表中添加数据?,第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_randomvalue(1, 300)) || '省',
               round(dbms_randomvalue(1, 800)) || '类型',
               round(dbms_randomvalue(1, 100)) || '风险分值',
               round(dbms_randomvalue(1, 300)) || '规则名称',
               '1'
          from dual;
        commit;
    VAR_num:=VAR_num+1;
    end loop;
end insert_data_4_pressure_3;

给你一个伪代码吧:使用oracle的
next_day()
函数
while
i
<
10
do
insert
test
(time)
values
(next_day(sysdate));
i++;
DONE;
关键是那个next_day函数
。。

一切皆有可能。
如表A(id number,name varchar2(10),modi_date date,c1 number,c2,number);
表B(id varchar2(10),name number,modi_date varchar2(8),c5 varchar2(20))
insert into B(id,name,modi_date,c5)
select cast(id as number),cast(name as varchar2(10)),to_char(modi_date,'yyyymm'),
cast(null as varchar2(20))
from A
-- 因为表字段间数据类型不一样,所以不一样的要加上 cast( 字段 as 数据类型),
否则插入失败


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/13346639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-19
下一篇 2023-07-19

发表评论

登录后才能评论

评论列表(0条)

保存