有一个架构Flight(flightnumber,processed int) pilot(pilot_number,pilot_name)
为飞行员分配飞行员我首先扫描飞行表,并为每个航班号进行查询(内部方法称为分配(飞行飞行)。
public void select(){
Flight flight = new flight();
query = “select * from flight”;
then
//for each flight do some query
public void Assignment(Flight flight){
//query with flightnumber = flight.flightnumber
}
现在要求已经改变。已处理的新列添加到Flight表中 我必须使用Assignment()(现在它没有参数)并在航班中找到第一个未处理的航班进行一些查询,然后将处理后的值设置为1.
数据库sql .. java jdbc 我该怎么做呢?感谢您阅读我的问题。希望我很清楚。
答案 0 :(得分:0)
处理此问题的一种方法
我们可以在select语句中使用过滤条件
SELECT * FROM flight
WHERE is_processed =0 AND rownum=1
//returns only one record with the status of `is_processed` as 0
分配后,将is_processed
值更新为1,以获取返回的航班详细信息。 //在同一交易下执行上述操作
其他方法是在存储过程中组合这些步骤并从java代码
调用该过程如果我误解了你的问题,请告诉我