首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ORA-00947:值不足,但已检查该列。

ORA-00947:值不足,但已检查该列。
EN

Stack Overflow用户
提问于 2017-12-10 09:46:56
回答 1查看 476关注 0票数 1

我已经创建了一个表作为fllow:

代码语言:javascript
运行
复制
CREATE TABLE"COMMODITY"
(COM_NO VARCHAR2(10)  NOT NULL,
COM_NAME VARCHAR2(100) NOT NULL,
SHOP_NO VARCHAR2(10)NOT NULL,
FRU_NO VARCHAR2(10)NOT NULL,
COM_PRICE NUMBER(10)NOT NULL,
COM_WEIGHT VARCHAR2(30)NOT NULL,
COM_REMARKS CLOB NOT NULL,
COM_PIC1 BLOB,
COM_PIC2 BLOB,
COM_PIC3 BLOB,
COM_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
COM_STATUS VARCHAR2(10) NOT NULL,
COM_STORE NUMBER(10) NOT NULL,
COM_SCORE NUMBER(2,1)NOT NULL,
COM_PEO NUMBER(10)NOT NULL,
CONSTRAINT COM_COM_NO_PK PRIMARY KEY (COM_NO),
CONSTRAINT COM_SHOP_NO_FK FOREIGN KEY  (SHOP_NO) REFERENCES SHOP(SHOP_NO),
CONSTRAINT COM_FRU_NO_FK FOREIGN KEY  (FRU_NO) REFERENCES FRUIT(FRU_NO)
);

序列是

代码语言:javascript
运行
复制
CREATE SEQUENCE COM_NO_SEQ
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCACHE
NOCYCLE;

我正在尝试做以下几件事:

代码语言:javascript
运行
复制
INSERT INTO COMMODITY VALUES('COM'||LPAD(TO_CHAR(COM_NO_SEQ.NEXTVAL),7,'0'),'平安蘋果','SHO0000001','FRU0000001',1200,'一箱約1斤','好吃的蘋果喔我是CLOB','24-6月-17 03.22.39','上架',80,0,0);

我给所有不是NULL.But的列赋值,仍然有ORA-00947的问题:没有足够的值。

请告诉我为什么?

EN

回答 1

Stack Overflow用户

发布于 2017-12-10 11:51:24

应在insert语句中提供列名,如下例所示。如果没有提供列的列表来映射值,则Oracle需要表中所有列的值。

如果完全省略列列表,则values_clause或查询必须为表INSERT Staement中的所有列指定值

代码语言:javascript
运行
复制
SQL> create table tt1 (id number not null, name varchar2(20));

Table created.

SQL> insert into tt1 values('Joe');
insert into tt1 values('Joe')
            *
ERROR at line 1:
ORA-00947: not enough values


SQL> insert into tt1 values(1);
insert into tt1 values(1)
            *
ERROR at line 1:
ORA-00947: not enough values


SQL> insert into tt1(id) values(1);

1 row created.
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47735083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档