У меня есть запрос select с предложением where, и я хочу написать обновление для того же условия.
Но я не могу его сформировать.
Поэтому я получаю выходной результатSet и traverse resultSet для обновления таблицы [см. ниже]
Запрос на выборку:
select
a.businesskey, a.featurekey, c.businesskey, c.featurekey
from
device a,
(select concat(‘customPrefix’,ipaddr,’]’) clmna, instance_id
from wirelessdevice) as b,
device c
where
a.businesskey = b.clmna
and c.uniqueid = b.instance_id;
Текущий метод для обновления:
string strQuery = "select a.businesskey, a.featurekey, c.businesskey, c.featurekey from device a, (select concat(‘customPrefix’,ipaddr,’]’) clmna, instance_id from wirelessdevice) as b, device c where a.businesskey=b.clmna and c.uniqueid=b.instance_id;";
ResultSet resultSet = statement.executeQuery();
while(resultSet.hasnext()){
String srcbkey = resultSet.getString(1);
String srcFtrkey = resultSet.getString(2);
String destBkey = resultSet.getString(3);
String destFtrkey = resultSet.getString(4);
String updateQuery = "update device set featurekey ='" + destFtrkey +"' where businesskey ='" + srcFtrkey +"';";
statement.executeQuery(updateQuery);
}
можно ли написать один обновить запрос вместо рекурсивного прохождения набора результатов?