我有一个正常运行的oracle SQL语句:
select user_id,email from app_users where user_id in (select user_id from app_users_groups where group_id = ?);
我运行这个并且得到了我期望的结果,但是我试图通过以下方式在Java中运行它:
try (Connection conn = dataSource.getConnection()) {
try (PreparedStatement ps = conn.prepareStatement("select user_id,email from app_users where user_id in (select user_id from app_users_groups where group_id = ?);")) {
ps.setInt(1, groupId);
try (ResultSet rs = ps.executeQuery()) {
while(rs.next()) {
}
}
}
} catch (SQLException e) { }
但是我在使用SQLException ORA-00933的ps.executeQuery
失败:SQL命令没有正确结束。
我不太确定问题是什么,虽然我确信这很简单但我不知道。
由于
答案 0 :(得分:0)
正如Dmitry.P和a_horse_with_no_name所说。
我只需要按照建议删除分号 - 也是合格的列名。
conn.prepareStatement("select u.user_id,u.email from app_users u where u.user_id in (select g.user_id from app_users_groups_xref g where g.group_id = ?)")
对我来说简单的脑力,谢谢。