2015-04-15 69 views
-3

如何快速生成此Oracle表的数据?在表中生成测试数据

Table EVENTS 

EVENTID NUMBER(38,0) 
AGENTID NUMBER(38,0) 
EVENTDATE DATE 
CPU NUMBER(38,0) 
RAM NUMBER 
HDD NUMBER 
NETWORKUP NUMBER 
NETWORKDOWN NUMBER 

例如,我可以使用Oracle函数执行1000个插入吗?

+2

是的,Oracle支持在表中插入1000行。你的问题真的不清楚。 –

+0

你能告诉我快速生成表格并插入1000行的功能吗? –

+2

INSERT INTO events SELECT 1,2,SYSDATE,4,5,6,7 FROM DUAL CONNECT BY LEVEL <= 1000' – krokodilko

回答

0

可以使用一个过程,并在需要时调用它。

create or replace procedure addata is 
begin 
for i in 1..1000 loop 

insert into events (EVENTID, 
AGENTID , 
EVENTDATE, 
CPU, 
RAM , 
HDD , 
NETWORKUP, 
NETWORKDOWN) values 

(i, 
i+1, 
sysdate, 
i+3, 
i+4, 
i+5, 
i+6, 
i+7) ; 

end loop; 
commit; 
end; 


[email protected] 16-APR-15> exec addata; 

PL/SQL procedure successfully completed. 

[email protected] 16-APR-15> select count(*) from events; 

    COUNT(*) 
---------- 
     1000