java准备好的声明

时间:2012-12-04 08:38:09

标签: java sql jdbc prepared-statement

我有这样的要求......

需要执行java预处理语句示例:

String sql = "select first_name from student where roll_no :=1";
connection.prepareStatement(sql);

但问题是,有时上表中的查询可能没有行。 在这种情况下,我想查询第二个表格student2。因此sql查询现在将是:

String sql2 = "select first_name from student2 where roll_no :=1";

有没有办法在单个SQL查询中实现从另一个table(student2)中选择的条件。

我想要这样的伪代码:

String sql = "if student1 table doesn't have a roll_num, then query student2 table";

3 个答案:

答案 0 :(得分:0)

创建一个使用预准备语句调用的数据库过程  MySql,  Oracle。 希望这有帮助

答案 1 :(得分:0)

虽然你的设计并不好,但我正在暗示要实现你的要求。当您执行第一个查询时,只需检查是否有可用的结果集,如果没有,则执行第二个查询。

ResultSet rs = statement.execute();
if (!rs.next()){
//ResultSet is empty
}

在If块中,您需要执行第二次查询。

注意:如果不可能,首先重新考虑您的设计。这个解决方案有效,是跛脚问题的一个蹩脚解决方案:)

答案 2 :(得分:0)

我认为你可以使用例如UNION as:

select val from (select 'A' as val from DUAL
                 union
                 select 'B' as VAL from DUAL)
where rownum = 1;

但@ tbraun89首先考虑你的数据库结构