Sommige versies van Structured Query Language ( SQL ) zoals Oracle maken het gebruik van actualisering verklaringen met behulp van een geselecteerde set van waarden binnen een sub- query. Een update statement gemaakt op deze manier maakt gebruik meestal een sub- query met waarden uit een andere tabel . De terug van de sub waarden selecteren voltooien de voorwaarde voor de update statements . Anders gezegd , een update statement baseert haar actualisering conditie op waarden gekozen uit een andere tabel in een enkele stap , in plaats van twee stappen . Instructies 1 Maak het eerste deel van de verklaring aan kolommen te werken . Het eerste deel van een verklaring in dit geval om een specifieke tabel naam toewijzen van de juiste waarden aan kolommen als zo werken : UPDATE SET ( , < column_name > ) = Vervang met de naam van uw tafel om te werken , en ( of namen ) om juiste kolom ( s ) worden bijgewerkt . Deze methode zal werken voor een of meerdere kolommen waarden . . De waarden zullen worden toegekend in de volgende stap het gebruik van een te selecteren Daarom kon een typisch echte wereld bijvoorbeeld zijn : update klant SET ( account_no , invoice_amt ) = 2 In het tweede deel van de verklaring met behulp van een sub - select . De sub - select in dit geval gaat op zoek naar waarden bij te werken met betrekking tot de belangrijkste vraag . Een voorbeeld hiervan is als volgt : ( SELECT FROM WAAR ) op Twitter De nieuwe waarden < . , conditie > en geef de SQL voorwaarde voor de uitvoering en de waarde ( n) te worden toegekend in de sub - query- Een echt voorbeeld van de verklaring tot nu toe is : . update- SET klant ( account_no , invoice_amt ) = ( SELECT accountno , invoicecost FROM sales WHERE purchaseorder = 123456 ) . Dit rechtverkrijgenden accountnummer en factuurbedragen naar het rekeningnummer , factuurbedrag in de klant tabel om dezelfde waarden opgenomen in de tabel sales , voor kooporder 123.456 . 3 Voltooi de update statement . Deze stappen specificeert de laatste een belangrijk criterium voor de klant tabel bij te werken voor de juiste klant , anders wordt alle klanten in de tabel zou per ongeluk worden bijgewerkt De verklaring moet eindigen met : . WAAR < ; column_name > ; . de naam kolom specificeert het veld om de update op , de voorwaarde voor de criteria en de waarde te vergelijken voor de update opdracht baseren In de echte wereld termen , kan ons voorbeeld nu worden uitgebreid tot : update klant SET ( account_no , invoice_amt ) = ( SELECT accountno , invoicecost FROM sales WHERE purchaseorder = 123456 ) WAAR customer_no = 457645 Zoals aangegeven, wijst accountnummer en factuurbedragen naar het rekeningnummer , factuurbedrag in de klant tabel op dezelfde waarden opgenomen in de tabel sales , voor inkooporder 123.456 . Tot slot , het klantnummer in de klant tabel specificeert dat deze query alleen moet gelden voor klantnummer 457645 .
|