Einige Versionen von Structured Query Language (SQL) wie Oracle erlauben die Verwendung von Update -Anweisungen mit einer ausgewählten Gruppe von Werten innerhalb einer Sub-Abfrage . Eine Update-Anweisung auf diese Weise erstellt der Regel verwendet ein Sub-Abfrage mit Werten aus einer anderen Tabelle . Die Werte aus dem Untermenü wählen zurückgegeben vervollständigen die Bedingung für die Update-Anweisungen . Anders ausgedrückt, stützt ein Update seiner Aussage Aktualisierung Zustand auf Werte aus einer anderen Tabelle in einem einzigen Schritt , anstatt zwei Schritten ausgewählt . Anleitung
1
Erstellen Sie den ersten Teil der Aussage , um Spalten zu aktualisieren. Der erste Teil einer Aussage in diesem Fall ist es, eine bestimmte Tabelle Namen zuweisen entsprechenden Werte zu Spalten wie so aktualisieren:
UPDATE
SET ( , < column_name > ) =
Ersetzen mit dem Namen der Tabelle zu aktualisieren, und (oder Namen) zu entsprechenden Spalte (n) aktualisiert werden. Diese Methode wird für einzelne oder mehrere Spaltenwerte arbeiten. . Die Werte im nächsten Schritt mit einer Auswahl
Daher zugewiesen werden , könnte ein typisches Beispiel aus der Praxis sein :
aktualisieren Kunde SET ( account_no , invoice_amt ) =
2
Fügen Sie den zweiten Teil der Aussage mit einem Sub-Select . Die Sub -select wird in diesem Fall für die Werte zu aktualisieren Zusammenhang mit der Haupt- Abfrage aussehen . Ein Beispiel hierfür ist wie folgt:
(SELECT FROM WHERE )
Die neuen Werte < . , Bedingung > und geben Sie die SQL-Bedingung zu implementieren und den Wert (e) in den sub-Abfrage zugeordnet werden
Ein echtes Beispiel für die Aussage so weit ist : .
< p > Update Kunde SET ( account_no , invoice_amt ) = ( SELECT AccountNo , invoicecost FROM Verkäufe WHERE PurchaseOrder = 123456) .
Rechtsnachfolger Kontonummer und Rechnungsbeträge auf das Konto , Rechnungsbetrag in der customer-Tabelle der gleichen Werte innerhalb der Tabelle sales enthalten , zur Bestellung 123456 .
3
Beenden Sie die Update-Anweisung . Dies legt die endgültigen Schritte ein wichtiges Kriterium , um die Customer-Tabelle für den richtigen Kunden zu aktualisieren , da sonst alle Kunden in der Tabelle versehentlich eine Aktualisierung
Die Erklärung endet mit dem : .
WHERE < ; column_name > ; .
die Spalte Name gibt das Feld, um das Update auf , die Voraussetzung für die Kriterien und den Wert für das Update Zuordnung vergleichen stützen
< p > In der realen Welt ausgedrückt, kann unser Beispiel nun erweitert werden:
aktualisieren Kunde SET ( account_no , invoice_amt ) = ( SELECT AccountNo , invoicecost FROM Verkäufe WHERE PurchaseOrder = 123456) WHERE CUSTOMER_NO = 457645
< p > Wie angegeben , weist diese Kontonummer und Rechnungsbeträge auf das Konto , Rechnungsbetrag in der Tabelle customer auf die gleichen Werte in der Tabelle sales enthalten , zur Bestellung 123456 . Schließlich gibt die Kundennummer in der Tabelle customer , dass diese Abfrage sollte nur Kundennummer 457645 gelten .