我目前正在开发一个报告生成servlet,它将多个表中的信息聚合在一起,生成一个报告.除了返回结果行之外,我还将它们存储到一个reports表中,这样以后就不需要重新生成它们,并且如果从中提取它们的表被删除,它们将保持不变.为了实现后者,我有一个如下形式的语句(NB:x是外部生成的,在这个语句中实际上是一个常量):
INSERT INTO reports
(report_id, col_a, col_b, col_c)
SELECT x as report_id, foo.a, bar.b, bar.c
FROM foo, bar
这很好,但是我需要第二个查询来实际返回结果行,例如.
SELECT col_a, col_b, col_c
FROM reports
WHERE report_id = x
这很好用,因为它只涉及一个表,成本应该不高,但似乎我应该能够直接返回插入的结果,避免第二次查询.有什么语法我找不到吗?(我应该注意的是,我对数据库工作相当陌生,所以如果正确的答案是只运行第二个查询,因为它只稍微慢一点,那就这样吧)