sql中的标识符无效
我使用self-join编写了这样的查询,因为sql中的标识符无效,sql,oracle,Sql,Oracle,我使用self-join编写了这样的查询,因为EmployeeID应该同时是主键和外键——是这样吗?sql开发人员告诉我这是什么意思 SQL错误:ORA-00904:“E”。“EMPLOYEESUPERVISOR”:标识符无效 90400000-%s:无效标识符 插入查询中存在一些小问题 您将EmployeeID声明为varchar2,但没有将ID值括在“中”,因此您基本上是在尝试插入数学运算107-55-789的结果,即-737 您没有在insert语句中指定字段名称,因此必须给出每个字段的值
EmployeeID
应该同时是主键
和外键
——是这样吗?sql开发人员告诉我这是什么意思
SQL错误:ORA-00904:“E”。“EMPLOYEESUPERVISOR”:标识符无效
90400000-%s:无效标识符
插入查询中存在一些小问题
insert into Employees values ('107-55-789','Stan Getz', null);
insert into Employees values ('123-44-347','Jim Jason', '123-44-347');
insert into Employees values ('547-33-243','Bill Blass', null);
insert into Employees values ('678-44-546','Robert Lewis', '123-44-347');
看看这把甲骨文小提琴,看看结果:
您的代码毫无意义,无法按编写的方式运行。它说EmployeeSupVersion是未知列。您是否试图在EmployeeSupersor上创建引用员工id的外键?如果EmployeeSupervisor是员工的id,则外键应为
(EmployeeSupervisor)引用员工(EmployeeID)
。无论如何,错误似乎与此无关,请检查表中是否确实有EmployeeSupervisor
字段,可能是缺少或写得不好。最后,不要使用WHERE
连接表,请使用join
。
insert into Employees values ('107-55-789','Stan Getz', null);
insert into Employees values ('123-44-347','Jim Jason', '123-44-347');
insert into Employees values ('547-33-243','Bill Blass', null);
insert into Employees values ('678-44-546','Robert Lewis', '123-44-347');