插入使用select *然后替换列

时间:2015-12-07 18:58:24

标签: sql db2

不确定是否可以这样做但我正在尝试这样做:

INSERT INTO MyTable
SELECT TOP 1 * (replace a specific date column with hard-coded value) from AnotherTable

我需要做的是用硬编码的日期值替换其中一列。我有很多表,每个表都需要永远,还有NULLS和NOT NULL。所以我试图复制目标表的第一行,然后更改那里的日期值。

我没有唯一行值的PK_ID或INT编号,所以我无法进行更新。

2 个答案:

答案 0 :(得分:0)

是的,我认为你可以做到。查询看起来像这样:

INSERT INTO MyTable ( myFieldName )
SELECT '2015-12-07'
FROM AnotherTable
FETCH FIRST 1 ROWS ONLY

答案 1 :(得分:0)

如果要插入具有选定值的另一个表的硬编码值,则必须指定列名。所以查询看起来像

INSERT INTO MyTable (FieldName1,FieldName2,.... )
SELECT top 1 '2015-12-07',a.Value1,......
FROM AnotherTable a