SQL插入错误:ORA-00984

SQL插入错误:ORA-00984,sql,oracle,Sql,Oracle,因此,我创建了一个Oracle数据库模式,并尝试插入数据,但出现以下错误 SQL Error: ORA-00984: column not allowed here 00984. 00000 - "column not allowed here" 这是我桌上的DDL CREATE TABLE "SAMPLE_TYPE" ( "SAMPLE_TYPE_ID" NUMBER(10,0) NOT NULL, "SAMPLE_CODE" VARCHA

因此,我创建了一个Oracle数据库模式,并尝试插入数据,但出现以下错误

SQL Error: ORA-00984: column not allowed here
00984. 00000 -  "column not allowed here"
这是我桌上的DDL

CREATE TABLE "SAMPLE_TYPE" 
   (    
        "SAMPLE_TYPE_ID" NUMBER(10,0) NOT NULL, 
        "SAMPLE_CODE" VARCHAR2(20) NOT NULL,
        CONSTRAINT SAMPLE_TYPE_PK PRIMARY KEY ("SAMPLE_TYPE_ID")
   );
--------------------------------------------------------
--  DDL for Sequence SEQ_SAMPLE_TYPE
--------------------------------------------------------

   CREATE SEQUENCE "SEQ_SAMPLE_TYPE"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 61 CACHE 20 NOORDER  NOCYCLE ;
最后是失败的insert语句

INSERT INTO "SAMPLE_TYPE" (SAMPLE_TYPE_ID, SAMPLE_CODE) VALUES (SEQ_SAMPLE_TYPE.nextval, "Small");

有没有关于如何纠正这个问题的想法?谢谢

Oracle sql中的字符串由一个引号分隔。您使用了双引号,因此Oracle认为您正在创建别名。在对表名进行双引号时,还必须确保使用与创建表时完全相同的大小写。这是一个简化版本

INSERT INTO SAMPLE_TYPE 
(SAMPLE_TYPE_ID, SAMPLE_CODE) 
VALUES 
(SEQ_SAMPLE_TYPE.nextval, 'Small');

Oracle sql中的字符串由一个引号分隔。您使用了双引号,因此Oracle认为您正在创建别名。在对表名进行双引号时,还必须确保使用与创建表时完全相同的大小写。这是一个简化版本

INSERT INTO SAMPLE_TYPE 
(SAMPLE_TYPE_ID, SAMPLE_CODE) 
VALUES 
(SEQ_SAMPLE_TYPE.nextval, 'Small');

你甚至不需要使用双引号。你甚至不需要使用双引号。