有没有办法在不使用 FOR LOOP 的情况下创建虚拟记录?

sto*_*cke 2 sql oracle

我不知道如何在不使用 FOR LOOP 的情况下放置 1000000 个虚拟数据。这是我使用的代码:

CREATE TABLE dummy_records (
dummy_id number not null,
dummy_name varchar2(100)
);

BEGIN
    FOR loop_counter IN 1..1000000 LOOP
    INSERT INTO dummy_records (dummy_id, dummy_name) VALUES (loop_counter, dbms_random.value(1,100)); 
    END LOOP; 
END;
Run Code Online (Sandbox Code Playgroud)

Bry*_*ger 5

简单的按级别连接怎么样?

create table mytable as
select level dummy_id,
dbms_random.string('U', 20) dummy_name
from dual connect by level < 1000001
Run Code Online (Sandbox Code Playgroud)

http://sqlfiddle.com/#!4/8d677/1