【问题标题】:How to use INSERT INTO SELECT如何使用 INSERT INTO SELECT
【发布时间】:2021-07-22 11:24:28
【问题描述】:
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 是当前时间)

我想要这个结果 enter image description here

这是我的代码

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": 标识符无效"

【问题讨论】:

  • 当您使用表达式时,请记住为其设置别名,无论您是在创建视图、使用内联视图还是在 Insert 语句中。

标签: sql oracle


【解决方案1】:

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

尝试下一个插入语句:

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

【讨论】:

    猜你喜欢
    • 2012-01-23
    • 2023-02-09
    • 1970-01-01
    • 1970-01-01
    • 2014-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    相关资源
    最近更新 更多