我有一个销售表:
Name Null? Type
SALE_ID NOT NULL NUMBER(4)
SALE_DATE DATE
NO_OF_PRODS NUMBER(4)
PROD_ID NOT NULL NUMBER(4)
CUST_ID NOT NULL NUMBER(4)
DESP_ID NOT NULL NUMBER(4)
SALE_RECEIPT NOT NULL NUMBER(5) 我尝试将随机生成的数据插入到sales表中。我正在为oracle使用iSQL plus。这只是我必须创建的测试数据。我运行以下脚本来生成数据:
begin
insert into sales
select sale_id_seq.nextval,
sysdate,
trunc(dbms_random.value(000,999)),
p.prod_id, c.cust_id
FROM dba_xy.product p, dba_xy.customer c,
desp_id_seq.nextval,
trunc(dbms_random.value(0000,9999));结束;/
但当我执行此操作时,出现以下错误消息:
trunc(dbms_random.value(0000,9999));
*第9行: ORA-06550:第9行,第21列: PL/ SQL : ORA-00933: SQL命令未正确结束ORA-06550:第2行,第2列:已忽略PL/SQL: SQL语句。
我做错了什么?
我刚刚意识到DESP_ID是sales表中的一个外键,但目前despatch表是空的,当我尝试将数据插入其中任何一个表时,都无法导致一个表需要另一个表中的数据。我最终得到了这个错误消息:
PL/SQL: ORA-02289: sequence does not exist 发布于 2009-08-24 05:27:29
不能从中选择
FROM dba_xy.product p, dba_xy.customer c,
desp_id_seq.nextval,
trunc(dbms_random.value(0000,9999));尝试:
insert into sales
(select
sale_id_seq.nextval,
sysdate,
trunc(dbms_random.value(000,999)),
p.prod_id,
c.cust_id,
desp_id_seq.nextval,
trunc(dbms_random.value(0000,9999))
FROM dba_xy.product p, dba_xy.customer c;顺便说一句,你确定你想要一个笛卡尔积在这里,也许错过了一些连接?
https://stackoverflow.com/questions/1320593
复制相似问题