Alcune versioni di Structured Query Language ( SQL ) come Oracle consentono l'uso di istruzioni di aggiornamento utilizzando un insieme selezionato di valori all'interno di una query secondaria . Un'istruzione di aggiornamento creato in questo modo utilizza generalmente una query sub contenente i valori da un'altra tabella . I valori restituiti dal sub selezionare completare la condizione per le istruzioni di aggiornamento . In altre parole, una dichiarazione di aggiornamento basa la sua condizione di aggiornamento su valori selezionati da un'altra tabella in un unico passaggio , invece di due passi . Istruzioni
1
Creare la prima parte della dichiarazione di aggiornare le colonne . La prima parte di una dichiarazione in questo caso è quello di aggiornare un nome di tabella specifica assegnazione di valori appropriati per le colonne in questo modo:
AGGIORNAMENTO
SET ( , < column_name > ) =
Sostituire con il nome della tabella da aggiornare e ( o nomi) a colonna appropriata ( s ) deve essere aggiornato. Questo metodo funziona per valori singoli o multipli di colonna . . I valori saranno assegnati nella fase successiva utilizzando un selezionare
Pertanto , un tipico esempio del mondo reale potrebbe essere :
Aggiornamento SET cliente ( account_no , invoice_amt ) =
2
Aggiungi la seconda parte della dichiarazione utilizzando un sub -select . Il sub -select , in questo caso cercherà di aggiornare i valori relativi alla query principale . Un esempio di questo è la seguente :
(SELECT DA DOVE ) per I nuovi valori < . , condizione > e specificare la condizione SQL per implementare e il valore ( s ) da assegnare in sub -query
Un vero esempio di dichiarazione finora è : .
< p > aggiornamento SET cliente ( account_no , invoice_amt ) = ( SELEZIONA AccountNo , invoicecost FROM vendita WHERE PurchaseOrder = 123456) .
Questo numero assegna conto e gli importi delle fatture per il numero di conto , importo della fattura nella tabella cliente per lo stesso I valori contenuti nella tabella delle vendite , per ordine di acquisto 123456 .
3
Completa l' istruzione di aggiornamento . Questa procedura specifica le finali un criterio importante per aggiornare la tabella dei clienti per il cliente giusto , altrimenti tutti i clienti della tabella sarebbero stati aggiornati accidentalmente
La dichiarazione deve terminare con : .
DOVE < , column_name > ; .
Il nome di colonna specifica il campo di basare l'aggiornamento , la condizione per i criteri e il valore da confrontare per l'assegnazione aggiornamento
< p > In termini reali , il nostro esempio può essere estesa a :
aggiornamento SET cliente ( account_no , invoice_amt ) = ( SELEZIONA AccountNo , invoicecost FROM vendita WHERE PurchaseOrder = 123456) DOVE customer_no = 457645
< p > Come specificato , questa assegna numero di conto e gli importi delle fatture per il numero di conto , importo della fattura nella tabella cliente agli stessi valori contenuti nella tabella delle vendite , per ordine di acquisto 123456 . Infine, il numero cliente nella tabella cliente specifica che questa query dovrebbe applicarsi solo al numero di 457.645 clienti .