【发布时间】:2017-10-29 18:03:17
【问题描述】:
我需要有关错误代码 ORA-00904 的帮助。我通过这段代码创建了表格
CREATE TABLE OYKUN_EMPLOYEE(
EMPNO INTEGER,
EMP_NAME OYKUN_NAME_TYPE,
EMP_ADDRESS OYKUN_ADDRESS_TYPE,
EMP_BIRTH_DATE DATE,
EMP_DEPARTMENT OYKUN_DEPARTMENT_TYPE,
EMP_MANAGER OYKUN_MANAGER_TYPE,
EMP_SALARY OYKUN_SALARY_TYPE
)
NESTED TABLE EMP_NAME STORE AS OYKUN_EMPNAME
NESTED TABLE EMP_ADDRESS STORE AS OYKUN_EMPADDRESS
NESTED TABLE EMP_DEPARTMENT STORE AS OYKUN_EMPDEPARTMENT
NESTED TABLE EMP_MANAGER STORE AS OYKUN_EMPMANAGER
NESTED TABLE EMP_SALARY STORE AS OYKUN_EMPSALARY;
创建表格后,我想用下面的代码插入一些数据
INSERT INTO OYKUN_EMPLOYEE (EMPNO,EMP_NAME,EMP_ADDRESS,EMP_BIRTH_DATE,EMP_DEPARTMENT,EMP_MANAGER,EMP_SALARY) VALUES
(100,
EMP_NAME (OYKUN_TEMPORAL_VARCHAR('1/1/2007','12/31/2017','Ted Mosby')),
EMP_ADDRESS (OYKUN_TEMPORAL_VARCHAR('1/1/2007','12/31/2017','Manhattan,New York')),
'5/20/1982',
EMP_DEPARTMENT (OYKUN_TEMPORAL_VARCHAR('1/1/2007','12/31/2017','Architect')),
EMP_MANAGER (OYKUN_TEMPORAL_VARCHAR('1/1/2007','12/31/2017','Walter White')),
EMP_SALARY (OYKUN_TEMPORAL_NUMBER('TO_DATE(1/1/2007)','TO_DATE(12/31/2017)',2500))
);
我尝试了所有可能的方法,但仍然得到“EMP_SALARY”:无效标识符。
谁能帮我解决这个问题?表和列创建成功。
我还为表格创建了类型。
这里,
CREATE TYPE OYKUN_TEMPORAL_VARCHAR AS OBJECT (
VT_LB DATE,
VT_UB DATE,
VALUE VARCHAR2(50)
);
CREATE TYPE OYKUN_TEMPORAL_NUMBER AS OBJECT (
VT_LB DATE,
VT_UB DATE,
VALUE_PART INTEGER
);
CREATE TYPE OYKUN_NAME_TYPE AS TABLE OF OYKUN_TEMPORAL_VARCHAR;
CREATE TYPE OYKUN_ADDRESS_TYPE AS TABLE OF OYKUN_TEMPORAL_VARCHAR;
CREATE TYPE OYKUN_MANAGER_TYPE AS TABLE OF OYKUN_TEMPORAL_VARCHAR;
CREATE TYPE OYKUN_DEPARTMENT_TYPE AS TABLE OF OYKUN_TEMPORAL_VARCHAR;
CREATE TYPE OYKUN_SALARY_TYPE AS TABLE OF OYKUN_TEMPORAL_NUMBER;
【问题讨论】:
-
大概所有这些像
'1/1/2007'这样的字符串应该是像date '2007-01-01'这样的日期。我不确定最后一行'TO_DATE(1/1/2007)'的意图是什么。