2013-04-02 167 views
-4

第一次使用Oracle SQL,我試圖用隨機數據填充一個簡單表格。在Oracle中填充表格

該表創建爲:

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填充表用隨機數據?

+3

因爲您的意見而被下調。 (順便說一下:你應該弄清楚你的術語:PL/SQL涉及你向我們展示的東西,這是普通的SQL)。 –

回答

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; 

這將插入122行的隨機數據爲年表。改變這只是改變

1

如果你想要任何隨機數據插入到你的表5倍,然後下面的查詢將正常工作。 如果你想要5行以上的數據,只需用你想要的數字替換5。

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