在使用 INSERT INTO 语句时填写 table 的 NOT NULL 列

Fill in the NOT NULL columns of a table while using the INSERT INTO statement

我正在解决一个问题,我需要使用 select 语句将 135 行插入到最近创建的 table 中。我对该 table 有一些 NOT NULL 约束,我不明白如何更改我的 SELECT 以插入正确的信息。

这是我正在尝试做的事情:

CREATE SEQUENCE target_table_s1 START WITH 1001;

INSERT INTO target_table(colA,ColB,ColC,ColD,ColE)
target_table_s1.NEXTVAL,
(SELECT (colB,colC,ColD)
FROM source_table),
colE;

其中 colA 是序列号(为 target_table 提供主键),colE 基本上只需要像 SYSDATE 这样简单的东西。

关于如何使这项工作有任何建议吗?我知道我上面写的是行不通的,但这是我能说明我正在努力完成的事情的最好方式。我是否需要找到一种方法将我的序列放入 select 语句中,使其遵循正确的 "INSERT INTO SELECT" 格式?

我认为你应该在这里使用 INSERT INTO ... SELECT 构造:

INSERT INTO target_table (colA,ColB,ColC,ColD,ColE)
SELECT target_table_s1.NEXTVAL, ColB, ColC, ColD, SYSDATE
FROM source_table

我在上面假设您想​​将 SYSDATE 插入 E 列。