Certaines versions de Structured Query Language ( SQL) comme Oracle permettent l'utilisation de déclarations de mise à jour en utilisant un ensemble de valeurs sélectionnées au sein d'une sous requête. Une déclaration de mise à jour ainsi créée utilise généralement un sous requête contenant des valeurs d'une autre table . Les valeurs renvoyées par la sous sélectionner compléter l' état des déclarations de mise à jour. Autrement dit, une déclaration mise à jour fonde son état de mise à jour sur les valeurs sélectionnées à partir d'une autre table en une seule étape , au lieu de deux étapes. Instructions
1
créer la première partie de la déclaration de mise à jour des colonnes . La première partie d'une déclaration dans ce cas est de mettre à jour un nom de table spécifique attribuant des valeurs appropriées dans les colonnes comme ceci:
UPDATE
SET ( , < column_name > ) =
Remplacer avec le nom de votre table à mettre à jour et (ou noms) dans la colonne appropriée ( s) à mettre à jour . Cette méthode fonctionne pour les valeurs des colonnes simples ou multiples. . Les valeurs seront affectés à l'étape suivante en utilisant un sélectionner
Par conséquent, un exemple typique du monde réel pourrait être:
jour SET client ( account_no , invoice_amt ) =
2
Ajouter la deuxième partie de l' instruction à l'aide d'un sous- select. Le sous-sélection dans ce cas va chercher à mettre à jour les valeurs liées à la requête principale. Un exemple de cela est la suivante:
(SELECT DE OÙ )
Les nouvelles valeurs < . ; état > et préciser l'état SQL à mettre en œuvre et de la valeur (s ) d'être affecté dans la sous- requête
Un exemple réel de la déclaration jusqu'à présent est : .
< p > Mise à jour SET client ( account_no , invoice_amt ) = (SELECT AccountNo , invoicecost FROM ventes WHERE PurchaseOrder = 123456) .
nombre des ayants droit de comptes et les montants des factures au numéro de compte , montant de la facture dans la table customer à la même valeurs contenues dans la table de vente, pour ordre d'achat 123456 .
3
remplir la déclaration de mise à jour . Cette étape spécifie les finales un critère important de mettre à jour la table de client pour le client correct, sinon tous les clients de la table seraient accidentellement mis à jour
La déclaration doit se terminer par : .
WHERE < ; column_name > ; .
le nom de colonne spécifie le champ de fonder la mise à jour , la condition pour les critères et la valeur à comparer à l'affectation de mise à jour
< p > En termes réels , notre exemple peut maintenant être étendu à :
jour SET client ( account_no , invoice_amt ) = (SELECT AccountNo , invoicecost FROM ventes WHERE PurchaseOrder = 123456) OÙ customer_no = 457645
< p > Comme indiqué , cette assigne numéro de compte et le montant des factures au numéro de compte , montant de la facture dans le tableau à la clientèle pour les mêmes valeurs contenues dans le tableau des ventes , de l'ordre d'achat 123456. Enfin, le nombre de client dans la table client précise que cette requête ne devrait s'appliquer qu'aux numéro de client 457645 .