首页 > 解决方案 > 如何使用 INSERT INTO SELECT

问题描述

CREATE TABLE EMPLOYEES (
    EMPLOYEEID INT NOT NULL,
    DEPARTMENTID INT NOT NULL,
);

CREATE TABLE MANAGERS (
    EMPLOYEEID INT NOT NULL,
    DEPARTMENTID INT NOT NULL,
    ALTER_TIMESTAMP TIMESTAMP NOT NULL
);

我想使用 INSERT INTO SELECT 将 EMPLOYEES.EMPLOYEEID、EMPLOYEES.DEPARTMENTID、ALTER_TIMESTAMP 插入到 MANAGERS 表中。(ALTER_TIMESTAMP col 是当前时间)

我想要这个结果 在此处输入图像描述

这是我的代码

INSERT INTO MANAGERS
(EMPLOYEEID, DEPARTMENTID, ALTER_TIMESTAMP)
SELECT EMPLOYEEID, DEPARTMENTID, to_char(ALTER_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS:FF3')
FROM EMPLOYEES, DUAL;

但是“ORA-00904:“DUAL”。“ALTER_TIMESTAMP”:无效标识符”

标签: sqloracle

解决方案


您的表中没有名为“alter_timestamp”的列,这是错误消息的原因。

尝试下一个插入语句:

INSERT INTO MANAGERS
(EMPLOYEEID, DEPARTMENTID, ALTER_TIMESTAMP)
SELECT EMPLOYEEID, DEPARTMENTID, CURRENT_TIMESTAMP
FROM EMPLOYEES;

推荐阅读