La instrucció UPDATE s'utilitza per modificar els registres existents en una taula. Nota: aneu amb compte quan actualitzeu els registres d'una taula!
ACTUALITZA una taula
La següent instrucció SQL actualitza el primer client (CustomerID = 1) amb una nova persona de contacte i una nova ciutat.
SQL:
UPDATE Customers SET ContactName = 'Alfred Schmidt', City= 'Frankfurt' WHERE CustomerID = 1;
GenQL:
long customerID = 1;
Customers customer = getCustomerManager().findByPrimaryKey(customerID);
print(customer);
customer.setContactname("Alfred Schmidt");
customer.setCity("Frankfurt");
getCustomerManager().update(customer);
customer = getCustomerManager().findByPrimaryKey(customerID);
print(customer);
// Restaurar a estat original
customer.setContactname("Maria Anders");
customer.setCity("Berlin");
getCustomerManager().update(customer);
ACTUALITZA diversos registres (GenQL)
�?s la clàusula WHERE que determina quants registres s'actualitzaran.
La següent instrucció SQL actualitzarà ContactName a "Juan" per a tots els registres on el país sigui "Mèxic":
SQL:
UPDATE Customers SET ContactName='Juan' WHERE Country='Mexico';
GenQL:
Map<Long, String> original = new HashMap<Long, String>();
// TODO Pending to implement better solution
List<Customers> customers;
customers = getCustomerManager().select(CustomersFields.COUNTRY.equal("Mexico"));
print(customers);
for (Customers customer : customers) {
original.put(customer.getCustomerid(), customer.getContactname());
customer.setContactname("Juan");
getCustomerManager().update(customer);
}
print(customers);
// Restaurar a estat original
for (Customers customer : customers) {
String contactname = original.get(customer.getCustomerid());
customer.setContactname(contactname);
getCustomerManager().update(customer);
}
// TODO Pending to implement better solution
ACTUALITZA tots els registres (GenQL)
Avís d'actualització!
Aneu amb compte quan actualitzeu els registres.
SQL:
UPDATE Customers SET ContactName='Juan';
GenQL: