私は次のコードに取り組んできました:
import java.sql.*;
public class deleteRowDemo
{
public static void main(String args[])
{
Connection con;
Statement stmt;
ResultSet rs;
PreparedStatement ps;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:Project");
stmt=con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery("select Mword, from Model,Stud where Mword=Sword");
while(rs.next())
{
ps=con.prepareStatement("insert into Compare (Cword) values (?)");
ps.setString(1,rs.getString(1));
ps.executeUpdate();
rs.deleteRow();
}
con.close();
} catch(Exception e)
{
System.out.println(e);
}
}
}
モデルとスタッドの 2 つのテーブルがあります。2 つのテーブルが比較され、両方のテーブルで類似しているすべての単語が Compare という別のテーブルに挿入されます。同時に、Stud テーブルと Model テーブルの両方から単語を削除したいと考えています。関数 deleteRow() は、select ステートメントに table が 1 つしかない場合は正常に機能しますが、複数のテーブルを含む複雑な select ステートメントの場合はどうすればよいでしょうか。