InOVLang vs Java / SQL

Exemple 1 : détermine quel est le numéro de facture le plus élevé du client dont le numéro de compte est 712.

InOVLang

int noFacture = dbeval Facture[client.noCompte == 712].max(noFacture);

Java / SQL

Connexion dbConnection = null;
try {
    dbConnection = source.getConnection();    
    Statement dbStatement = dbConnection.createStatement();
 
    ResultSet dbResult = dbStatement.executeQuery(
        "SELECT MAX(F.NOFACTURE) FROM FACTURES F, CLIENTS C"
        "WHERE C.NOCOMPTE = 712 AND F.REFCLIENT = C.REFCLIENT" ) ;
 
    int noFacture = dbResult.getInt(1);
    dbResult.close();
    dbStatement.close();
} catch (SQLException ex) {
    throw new IllegalStateException(ex);
} finally {
    if (dbConnection != null) {
        try {	
            dbConnection.close();
        } catch (SQLException ex) {}
    }
}

Exemple 2 : affiche sur la console le numéro de compte et le chiffre d'affaire de chaque client.

InOVLang

foreach (int noCompte, double ca : dbsearch Client.(noCompte, factures.sum(montantHT))) {
    System.out.println(nocompte + " " + ca);
}

Java / SQL

Connexion dbConnection = null;
try {
    dbConnection = source.getConnection();    
    Statement dbStatement = dbConnection.createStatement();
 
    ResultSet dbResult = dbStatement.executeQuery(
        "SELECT C.NOCOMPTE, SUM(F.MONTANTHT) FROM CLIENTS C, FACTURES F "+
        "WHERE F.REFCLIENT = C.REFCLIENT" ) ;
    while (dbResult.next()) {
        int noCompte = dbResult.getInt(1);
        double ca = dbResult.getDouble(2);
        System.out.println(noCompte + " " + ca);
    }
    dbResult.close();
    dbStatement.close();
} catch (SQLException ex) {
    throw new IllegalStateException(ex);
} finally {
    if (dbConnection != null) {
        try {	
            dbConnection.close();
        } catch (SQLException ex) {}
    }
}