因此,我试图使用子查询将从另一个表中获取的非静态变量和值的集合插入到表中。我的代码如下所示:
INSERT INTO SCHEMA.TAB_REQ(TABLE_I, RUN_I, CODE, ORG_ALS, TAB_CRT_S, TAB_LST_UPD_S)
SELECT :tableKey, :runKey, :code, :org, TAB.CRT_S, TAB.LST_UPD_S
FROM SCHEMA.TABLE TAB
WHERE TAB.KEY = :tableKey正在获取的值,TAB.CRT_S和TAB.LST_UPD_S,都将是时间戳。以"12/3/2019 12:00:01 AM“为例。这两个值都不应该是空的。每当插入新行时,都会自动生成它们。
提供的变量将是两个整数字符串(:tableKey和:runKey),然后是两个字符串(:code和:org)。它们是由java应用程序提供的,如果它们丢失了,那么就出现了严重的错误。现在,在运行查询时,我正在手动输入每个变量的值。
select语句应该只返回一行,因为:tableKey是自动生成的唯一标识符。
我的当前代码引发了以下错误:
ERROR [42610] [IBM][DB2] SQL0418N The statement was not processed because the statement contains an invalid use of one of the following: an untyped parameter marker, the DEFAULT keyword, or a null value.这是可能的吗,还是这里需要两个单独的查询?
发布于 2019-03-07 15:58:39
我想出了一种简单得多的方法来做我需要的事。我没有尝试在一个查询中收集所需的所有数据,而是编写了两个简单的select语句,并在java变量填充此SQL语句中的变量之前使用它们将额外的参数插入到java变量中。
https://stackoverflow.com/questions/55031270
复制相似问题