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