在DB2中具有select的插入中使用CURRENT TIME

CamelCaseBurger

我正在使用JDBC通过插入选择样式插入将一行插入DB2数据库表中。我同时尝试从变量以及ENTRY_DATE使用中插入动态数据CURRENT DATE

INSERT INTO mytable (COL_A, COL_B, ENTRY_DATE)
SELECT COL_A, ?, CURRENT DATE FROM mytable
WHERE COL_A > 1;

我是sql和JDBC的新手,所以我不知道使用CURRENT DATE是通用的还是特定于我们的系统的,但是它可以在普通的插入中工作,例如:

INSERT INTO mytable ENTRY_DATE values(CURRENT DATE);

我从来没有使用过插入选择样式的插入,所以我不知道错误是否在我的'?'上。我使用PreparedStatement.setString或CURRENT DATE参数插入但是我得到以下错误:

[BEA] [DB2 JDBC驱动程序] [DB2]要准备包含无效使用的参数标记

我是否需要用某些内容包围其中之一或全部,以表明它们不属于select语句?我需要重新整理我的陈述吗?

编辑:

我无法向您显示我的确切代码,但这是一个很接近的提示:

String sql = null;
PreparedStatement prepStmnt = null;
Connection conn = getConnection("database");
sql = "INSERT INTO MYTABLE ";
sql += "(COLUMN_A, COLUMN_B, ENTRY_DATE)";
sql += "SELECT COLUMN_A, ?, CURRENT DATE";
sql += "FROM MYTABLE WHERE COLUMN_A > 1;";
prepStmnt = conn.prepareStatement(sql);
prepStmnt.setString(1, myVar);
prepStmnt.execute();
毒ophil

我认为问题在于DB2对select的列列表中的参数一无所知,因此不知道select将返回什么,因此它无法正确地准备语句。

尝试这个:

INSERT INTO mytable (COL_A, COL_B, ENTRY_DATE)
SELECT COL_A, CAST(? AS CHAR(1)), CURRENT DATE FROM mytable
WHERE COL_A > 1;

将替换为CHAR(1)正确的数据类型COL_B

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP中的Time()函数

来自分类Dev

检索名称中使用time()上传的图像

来自分类Dev

Current time at a specific latitude and longitude

来自分类Dev

具有多个Time Windows的Jsprit VRP

来自分类Dev

如何使用Joda-Time在Java中设置Time属性

来自分类Dev

在SQL中显示TIME

来自分类Dev

如何在MySQL中使用TIME类型?

来自分类Dev

在Scala中使用java.time API

来自分类Dev

在DB2中将数据类型从DateTime更改为Time会产生错误

来自分类Dev

python 2 vs 3中的python time.time()差异

来自分类Dev

在具有Jasper Report的字段中使用java.time.LocalDate

来自分类Dev

DB2中具有列别名的内部联接

来自分类Dev

db2是否有标识插入?

来自分类Dev

使用SQL查询在DB2中插入BLOB数据

来自分类Dev

在阵列导轨中存储Time_Select

来自分类Dev

MYSQL在TimeRange中使用TIME Between

来自分类Dev

如何使用按钮将时间传递到Postgresql DB而不是表单中的rails time_select框

来自分类Dev

使用Oracle SQL Developer连接db2,而db2具有DATA_ENCRYPT

来自分类Dev

在Python中使用time.time()执行时间

来自分类Dev

在db2中使用动态表名

来自分类Dev

在DB2中将数据类型从DateTime更改为Time会产生错误

来自分类Dev

在HTML中使用“ time ago” Javascript函数

来自分类Dev

具有WHERE子句的DB2 SELECT EXCEPT

来自分类Dev

在Apache :: Log :: Parser中使用Time :: Piece

来自分类Dev

DB2 中的 SQL SELECT 查询

来自分类Dev

在 R 变量 Time 中使用毫秒

来自分类Dev

在 R 变量 Time 中使用毫秒

来自分类Dev

在 while 循环中使用 time()

来自分类Dev

尝试在 javascript 中使用带有 for 循环的 time.js 仅输出数组中的最终值