1

当然、executeUpdate を呼び出したときに影響を受けた行数を知りたいと思います。私の executeUpdate は、挿入を行うストアド プロシージャを呼び出します。return と int を試みましたが、1 つの int を返すだけでも「戻り値が多すぎます」というメッセージが表示されました

影響を受けた行の数を返したいだけです

ジャワ:

    String pro ="{call pro_insert(?,?,?)}";
     CallableStatement callableStatement =
     dbConn.prepareCall(pro);
     callableStatement.setString(1,"9600111");
     callableStatement.setInt(2,1);
     callableStatement.setInt(3,100);                       
     Integer id = callableStatement.executeUpdate();

Informix

CREATE PROCEDURE pro_insert ( source varchar(11), request_type_id smallint,result_code_id smallint  )
    RETURNING int ;

        INSERT INTO pro_table
        (
            source,request_type_id,result_code_id,time          
        )
        VALUES
        (
            source,request_type_id,result_code_id,CURRENT
        );

        return dbinfo('sqlca.sqlerrd2'); /* return number of rows affected */               
END PROCEDURE    
4

1 に答える 1