oracle 自动生成填充数据
Oracle提供的数据生成工具(Data Generator)
建表语句
CREATE TABLE "FDM"."HYRK_GIM_RENKOU"
( "XM" VARCHAR2(200),
"SFZH" VARCHAR2(50),
"LXFS" VARCHAR2(50),
"ZY" VARCHAR2(500),
"XJJDXZ" VARCHAR2(500),
"ISDELETE" NUMBER(1,0),
"ID" VARCHAR2(50)
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "HYRK"
也可以使用 DUAL表
INSERT INTO HYRK_GIM_RENKOU(XM, SFZH, LXFS, ZY, XJJDXZ, ISDELETE, ID)
SELECT
'张三' || LEVEL, -- 姓名
'450202199A' || LPAD(LEVEL, 4, '0') || '1234', -- 身份证号
'13800138000' || LPAD(LEVEL, 2, '0'), -- 联系方式
'软件工程师', -- 职业
'广东省深圳市南山区学府路XXXX号', -- 现居地址
0, -- 是否删除
'ID-' || LPAD(LEVEL, 2, '0') -- 编号
FROM DUAL
CONNECT BY LEVEL <= 10;
DUAL表说明
- DUAL是Oracle数据库中的一个伪表(Pseudo-Table),专门用于在SQL语句中进行单行计算,不存储任何实际数据,也不与其他表进行关联。DUAL表只有一列,名为DUMMY,其类型为VARCHAR2(1),包含一个值“X”。
- DUAL表常常用于进行常量计算、日期计算、字符串拼接等操作,也可以用于生成序列、测试函数和存储过程等。例如,在进行查询操作时,可能需要通过DUAL表来生成一个常量结果集:
LEVEL 表说明
- CONNECT BY LEVEL是Oracle数据库中一个查询语句中的连接关键字,用于在查询结果集中生成序列号或层次结构数据。其中,LEVEL是Oracle内置伪列,表示当前行在树状结构中的层次(从根节点开始递增)。例如:
SELECT LEVEL, 'Hello, World!' AS MESSAGE FROM DUAL
CONNECT BY LEVEL <= 3;
- 其中,使用CONNECT BY LEVEL <= 3来指定查询的层数为3,因此查询结果中包含3行数据,LEVEL分别为1、2、3,MESSAGE均为“Hello, World!”。
- 在生成填充数据时,CONNECT BY LEVEL也常常被用于生成指定数量的重复数据。例如,通过CONNECT BY LEVEL <= 10可以生成一个包含10行数据的结果集,用于向表中插入10条模拟数据。此时,可以在SELECT语句中使用LEVEL来生成唯一的序列号或编号,以区分不同的数据记录。
本文来自博客园,作者:vx_guanchaoguo0,转载请注明原文链接:https://www.cnblogs.com/guanchaoguo/p/17273770.html