From: | Thorsten Meinl <Thorsten(at)meinl(dot)bnv-bamberg(dot)de> |
---|---|
To: | "Campano, Troy" <Troy(dot)Campano(at)LibertyMutual(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: batch example |
Date: | 2002-12-30 17:28:58 |
Message-ID: | 3E10825A.9000608@meinl.bnv-bamberg.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc pgsql-sql |
Hello Troy,
> Can someone point me to an example using a batch statement for
> Postgresql?
>
Maybe this helps... Don't be confused about the creation of the
SQL-Statements, the point is "sth.addBatch" and "sth.executeBatch".
public void saveChanges() throws SQLException {
if (! dataChanged) return;
Statement sth = PDMObject.this.con.createStatement();
for (int i = 0; i < attributeCount; i++) {
try {
if (attributes[i].isNew()) {
sth.addBatch("INSERT INTO PDM_Spaltennamen (name, typid,
text_de, text_en, text_fr, pos, menueIndex) VALUES (" +
"'" + attributes[i].getName() + "', " +
"(SELECT id FROM PDM_Typen WHERE (objektTyp = '" +
relationName + "')), " +
((attributes[i].getText("de") != null) ? ("'" +
attributes[i].getText("de") + "'") : "NULL") + ", " +
((attributes[i].getText("en") != null) ? ("'" +
attributes[i].getText("en") + "'") : "NULL") + ", " +
((attributes[i].getText("fr") != null) ? ("'" +
attributes[i].getText("fr") + "'") : "NULL") + ", " +
+ attributes[i].getPosition() + ", " +
0 + ")"
);
} else {
sth.addBatch("UPDATE PDM_Spaltennamen SET " +
((attributes[i].getText("de") != null) ?
("text_de = '" + attributes[i].getText("de") + "'") : "text_de = NULL")
+ ", " +
((attributes[i].getText("en") != null) ?
("text_en = '" + attributes[i].getText("en") + "'") : "text_en = NULL")
+ ", " +
((attributes[i].getText("fr") != null) ?
("text_fr = '" + attributes[i].getText("fr") + "'") : "text_fr = NULL")
+ ", " +
"pos = " + attributes[i].getPosition() + ", " +
"menueIndex = " + 0 +
" WHERE (name = '" + attributes[i].getName() +
"') AND " +
"(typid = (SELECT id FROM PDM_Typen WHERE
(objekttyp = '" + relationName + "')))"
);
}
} catch (WrongArgumentException e) { // sollte nicht passieren,
sonst Programmierfehler
e.printStackTrace();
}
}
sth.executeBatch();
sth.close();
dataChanged = false;
}
Greetings
Thorsten
From | Date | Subject | |
---|---|---|---|
Next Message | Felipe Schnack | 2003-01-02 13:48:29 | Strange error |
Previous Message | Rajesh Krishnamoorthy | 2002-12-30 17:21:58 | unsubscribe |
From | Date | Subject | |
---|---|---|---|
Next Message | floyds | 2002-12-30 17:40:44 | empty arrays |
Previous Message | Rajesh Krishnamoorthy | 2002-12-30 17:21:58 | unsubscribe |