recordToUpdate¶
In caso di necessità di modifica di un solo record, esiste una scorciatoia all’operazione di semplice update:
with tbl_prodotto.recordToUpdate(codice='T1') as rec_prodotto:
rec_prodotto['prezzo_unitario'] = rec_prodotto['prezzo_unitario'] + 1
mydb.commit()
In questo caso viene sfruttato il concetto di Context Manager nativo di Python: viene così automaticamente effettuata l” Operazione di lettura , che restituisce un record già pronto per la modifica, e non si rende necessaria l’esplicitazione dell”update, ma solo il commit finale.
Come in una qualsiasi Operazione di lettura la recordToUpdate può ricevere, alternativamente alla condizione where, anche una pkey
.
Suggerimento
Arricchendo la recordToUpdate
con l’attributo ignoreMissing=True
, evitiamo di mandare il sistema in errore in caso mancasse il record da aggiornare, mentre con raw=True
verrà effettuato l’update ignorando eventuali Trigger
Parametri:
Nome parametro |
Tipo |
Descrizione |
---|---|---|
for_update |
B |
Eseguendo una qualsiasi operazione di lettura con questo parametro verrà restituito come risultato un record pronto per la modifica |
pkey |
T |
La pkey del record, fornita posizionalmente come primo parametro |
where |
T |
La where per l’individuazione del record |
raw |
B |
Di norma False, se impostato a True esegue l’update senza innescare i trigger |
insertMissing |
B |
Se impostato a True, nel caso in cui non viene individuato un record ne viene creato uno nuovo |
ignoreMissing |
B |
Se impostato a True, in caso di mancata individuazione del record non viene sollevata un’eccezione di errore |
assignId |
B |
Se impostato a True, in caso di inserimento di nuovo record viene assegnato l’id |
virtual_columns |
T |
Le colonne virtuali da presentare al caricamento del record (es:virtual_columns=”$tipo_doc_descr”) |
Autore della sezione: Davide Paci