【问题标题】:To populate a table in Oracle [closed]在 Oracle 中填充表 [关闭]
【发布时间】:2013-03-23 15:22:54
【问题描述】:

第一次使用 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 用随机数据填充表

【问题讨论】:

  • 因为您的 cmets 而被否决。 (顺便说一句:您应该正确使用术语:您向我们展示的内容涉及 PL/SQL。这是普通 SQL)。

标签: sql oracle


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    下面的 sn-p 应该适合你:

    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 行随机数据。要改变这一点,只需改变

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-18
      • 1970-01-01
      • 2012-01-12
      • 2011-01-03
      • 2018-11-25
      相关资源
      最近更新 更多