在Oracle中填充表

时间:2013-04-02 10:54:32

标签: sql oracle

第一次使用Oracle SQL,我试图用随机数据填充一个简单的表。

该表创建为:

CREATE TABLE COUNTY 
      (COUNTYID NUMERIC(10) NOT NULL,
COUNTYNAME VARCHAR2(20) NOT NULL,
COUNTYREGION VARCHAR(20) NOT NULL,
COUNTYPOPULATION INT NOT NULL,
CONSTRAINT COUNTY_PK PRIMARY KEY (COUNTYID));

将countyID作为自动增量字段。

我还有5个插入语句,格式为:

INSERT INTO COUNTY
(COUNTYNAME,COUNTYREGION,COUNTYPOPULATION)
 values('Cork','Munster', 150000);

任何人都可以通过如何使用SQL填充表告知我随机数据吗?

2 个答案:

答案 0 :(得分:2)

以下代码段应该适合您:

declare

v_id  number := 1 ;
v_name varchar2(20) ;
v_region varchar2(20);
v_pop number ;

begin

while (v_id < 123)

loop

v_name    := 'Cork' || v_id;
v_region  := 'Munster' || v_id;
v_pop     := v_id * 10000;

INSERT INTO COUNTY
(COUNTYID,COUNTYNAME,COUNTYREGION,COUNTYPOPULATION)
 values(v_id,v_name,v_region,v_pop);

v_id := v_id +1;


end loop;

commit;
end; 

这将在yr表中插入122行随机数据。要改变这只是改变

答案 1 :(得分:1)

如果你想将任何随机数据插入你的表5次,那么下面的查询将正常工作。 如果您想要超过5行数据,那么只需用您想要的数字替换5。

insert into COUNTY
select level,'Cork' || level,'Munster' || v_id,150000+level from dual connect by level<=5;