如何通过JSP告诉Firebird数据库中插入了什么行

时间:2012-01-26 12:03:48

标签: jsp insert firebird

我正在使用executeUpdate(query)将一行插入到Firebird数据库表中,虽然这样可以告诉我它是否有效。

我需要知道的是插入了什么行,即插入记录时唯一的主键,我需要知道这个ID,以便在以后的语句中引用它。

这可能吗?如果可以,怎么做?

由于

尼尔

2 个答案:

答案 0 :(得分:3)

您可以使用Firebird 2.0中引入的INSERT STATEMENTRETURNING子句:

INSERT INTO ... RETURNING PKFieldName

答案 1 :(得分:2)

我刚刚邮寄了这封邮件,以回复您发送到Firebird-Java邮件列表的邮件:

Jaybird 2.2将添加对使用getGeneratedKeys()检索生成的密钥的支持(结合JDBC中定义的特定执行方法来支持此功能)。

然而,在Jaybird 2.1.6 IIRC中无法使用该功能,但是 - 使用Firebird 2.0或更高版本 - 您可以使用INSERT ... RETURNING <your-primary-key-field>并将其作为查询(例如executeQuery)而不是更新来执行。返回的结果集将包含生成的主键(这与Jaybird 2.2将为getGeneratedKeys()功能执行的操作几乎完全相同)。