【发布时间】:2016-02-24 22:23:11
【问题描述】:
我想在 Oracle 表中创建随机数据:
CREATE TABLE EVENTS(
EVENTID INTEGER NOT NULL,
SOURCE VARCHAR2(50 ),
TYPE VARCHAR2(50 ),
EVENT_DATE DATE,
DESCRIPTION VARCHAR2(100 )
)
/
我试过这个:
BEGIN
FOR loop_counter IN 1..1000
LOOP
INSERT INTO EVENTS (EVENTID, SOURCE, TYPE, EVENT_DATE, DESCRIPTION) VALUES (loop_counter, loop_counter, 'warning',
DBMS_RANDOM.VALUE(TO_CHAR(DATE '2000-01-01','J') ,TO_CHAR(DATE '9999-12-31','J')), dbms_random.value(1,100));
END LOOP;
COMMIT;
END;
我得到这个错误异常
错误报告 - ORA-06550:第 5 行,第 13 列:PL/SQL:ORA-00932: 不一致的数据类型:预期 DATE 得到 NUMBER ORA-06550:第 4 行, 第 1 列:PL/SQL:忽略 SQL 语句 06550. 00000 - “第 %s 行,第 %s 列:\n%s” *原因:通常是 PL/SQL 编译错误。 *行动:
你能给我建议如何解决这个问题吗?
【问题讨论】:
-
是的,我更新了帖子。
-
dbms_random()调用也不会返回日期,因此如果您尝试将3684482.0997之类的数字插入到DATE列中,它将失败 -
我必须如何更新它?
标签: sql oracle plsql oracle11g