CREATE TABLE "EMPLOYEE"
("SSN" NUMBER(*,0) NOT NULL ENABLE,
"MANAGER_SSN" NUMBER(*,0) NOT NULL ENABLE,
"STREET" CHAR(40) NOT NULL ENABLE,
"CITY" CHAR(25) NOT NULL ENABLE,
"DEP_NO" NUMBER(*,0) NOT NULL ENABLE,
"NAME" CHAR(15) NOT NULL ENABLE,
"SALARY" NUMBER(8,2) NOT NULL ENABLE,
"HIRE_DATE" DATE,
CONSTRAINT "PK_EMPLOYEE" PRIMARY KEY ("SSN") ENABLE
)
当我尝试插入该表时:
insert into employee values (1,1,"cola","beirut",1,"mohamad",1500,"7-feb-1999")
它说:
ORA-00984:这里不允许列
这到底是什么 !!!!!为什么会发生这种错误
“这不是小写或大写字母问题”
答案 0 :(得分:1)
在Oracle中,varchar
文字用单引号('
)标记,而不是双引号("
)。双引号表示区分大小写的对象名称,例如列。
只需将双引号切换为单引号,就可以了:
insert into employee values (1,1,'cola','beirut',1,'mohamad',1500,'7-feb-1999')
答案 1 :(得分:1)
似乎有两个不同的问题;
'
引用文字字符串,双引号用于引用区分大小写的对象名称。7-Feb-1999
日期格式,因此您必须告诉它您正在使用的格式。总而言之,查询应该是;
INSERT INTO employee
VALUES (1, 1, 'cola', 'beirut', 1, 'mohamad', 1500,
TO_DATE('7-feb-1999', 'DD-MON-YYYY'));