首页 > 解决方案 > 错误没有足够的值在 Oracle SQL 中插入数据

问题描述

我有一个煎饼数据库,这是我创建的表之一。

这是代码:

CREATE TABLE ingredient_purchase_list
(    
    date_ordered DATE PRIMARY KEY,
    quantity VARCHAR2(15),
    unit VARCHAR(15),
    unit_price NUMBER(4,2) NOT NULL,

    CONSTRAINT ingredient_id_fk  
        FOREIGN KEY (ingredient_id) REFERENCES ingredient (ingredient_id)     
); 

如您所见,这里是表格的插入,但看起来有问题。你能告诉我以下错误是什么意思吗?

BEGIN 
INSERT INTO ingredient_purchase_list VALUES ('2019-11-15', 10, 'lbs', 0.79);
INSERT INTO ingredient_purchase_list VALUES ('2019-11-10', 4, 'lbs', 6.52);
INSERT INTO ingredient_purchase_list VALUES ('2019-11-15', 8, 'bags', 2.49);
INSERT INTO ingredient_purchase_list VALUES ('2019-12-01', 5, 'lbs', 4.25);
INSERT INTO ingredient_purchase_list VALUES ('2019-10-31', 3, 'cartons', 4.50);
END

我有这个错误:

ORA-00947: not enough values
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_190200", line 592
ORA-06512: at "SYS.DBMS_SYS_SQL", line 1658
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_190200", line 578

ORA-06512: at "APEX_190200.WWV_FLOW_DYNAMIC_EXEC", line 2057

问题是什么?

谢谢。

标签: oraclesql-insert

解决方案


您应该列出所有列,并在类型上保持一致。这行得通吗?

INSERT INTO ingredient_purchase_list (date_ordered, quantity, unit, unit_price)
    VALUES (DATE '2019-11-15', '10', 'lbs', 0.79);

推荐阅读