我想创建一个包含100万条随机记录的测试数据库表。由于我是数据库新手, 有没有办法用任何脚本填充它?
这是我对我桌子的查询。
CREATE TABLE Employee (SEQNUM NUMBER,
START_DATE DATE,
END_DATE DATE,
DURATION TIME,
START_TIME TIME,
END_TIME TIME,
TOTAL_NUM NUMBER);
答案 0 :(得分:0)
这是一个使用双表和DBMS_RANDOM获取样本数据的简单查询。
CREATE TABLE SMPL
AS
WITH
smpl AS
(
SELECT
ROWNUM SEQNUM,
TO_DATE('01012016','ddmmyyyy') + 365 * dbms_random.value START_TIME, /* random 1 year timestamps from 1.1.2016 */
TRUNC(10000 * dbms_random.value) TOTAL_NUM, /* random 0 .. 10.000 */
31 * dbms_random.value DURATION /* duration 0 .. 31 days */
FROM dual
CONNECT BY LEVEL <= 100 /* update number of records here */
)
SELECT
SEQNUM,
TRUNC(START_TIME) START_DATE,
TRUNC(START_TIME + DURATION) END_DATE,
DURATION,
START_TIME,
START_TIME + DURATION END_TIME,
TOTAL_NUM
FROM smpl;
正如其他人所说,EMPLOYEE
不是正确的名称。还要考虑只存储
START_TIME
和DURATION
实际上在表中并计算(例如在视图中)从属列START_DATE
,END_TIME
,END_DATE
。