sql - 有没有一种方法可以不使用 FOR 循环来创建虚拟记录?

我不知道如何在不使用 FOR 循环的情况下放置 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;

最佳答案

按级别简单连接怎么样?

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

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

https://stackoverflow.com/questions/67978613/

相关文章:

xml - 同时迭代两个 for-each 循环

Flutter - 墨水池 : Why does onHover() require onTap()

ruby - 如何在 ruby​​ 中编写一个采用散列样式、方括号参数的方法,例如 mymethod

awk - 使用 awk 和 gsub 用字符串替换 CSV 的列

numpy - XGBoost:检查失败:有效:输入数据包含 `inf` 或 `nan`

c++ - std::sort 中用 lambda 函数指定的比较函数是否返回 bool 类型?

kubernetes - 如何在 Kubernetes cronjob 中执行脚本 shell

scala - 推特 future 封锁

javascript - Target 的 Toggled ClassList 上的 CSS Tra

javascript - console.log 在我的输入字段中给出 undefined