so aktualisieren Sie mehrere Zeilen in oracle

Möchte ich zum aktualisieren mehrerer Zeilen mit unterschiedlichen Werten für alle anderen Datensätze, aber habe keine Ahnung, wie das geht, ich verwende folgenden sql-update für den einzelnen Datensatz, sondern ich habe 200 plus Datensätze zu aktualisieren

update employee
set staff_no = 'ab123'
where depno = 1

ich 50 dep und innerhalb dieser dep muss ich update-200-plus-Mitarbeiter nicht. jede Idee.
In dem moment, wenn ich einfach eine

 select * from Departments 

kann ich sehen Liste aller Mitarbeiter, die Bedürfnisse der Mitarbeiter wird keine Aktualisierung.

UPDATE person
   SET staff_no = 
       CASE person_no
            WHEN 112 THEN 'ab123'
            WHEN 223 THEN 'ab324'
            WHEN 2343 THEN 'asb324'
            and so on.....


       END
zum Beispiel, wenn depno =1 gesetzt staffno = ab123 ...... wenn depno = 2 gesetzt staffno =ab321
Sagen Sie, Sie brauchen, um zu aktualisieren, 200 records, alle haben unterschiedliche Werte? Gibt es eine Möglichkeit zu berechnen, diese Werte?
ich habe rund 150 person_id ist alles anders Aussehen, ich brauche zu aktualisieren staff_no gegen die person-id, also kurz 150 person_no und 150 staff_no ist
Erstellen Sie eine sqlfiddle mit einigen Beispiel-DDL-und Datumsanzeige Beziehung, wenn die Antworten nicht befriedigen.
keine Panik. auch wenn es keine test-db, wo können Sie Holen Sie sich bequem mit der Technik, nichts willbe verändert in Ihrem prod db bis Sie COMMIT - probieren Sie es aus für 2 kleine Abteilungen zunächst die überprüfung der Ergebnisse, ausstellen ROLLBACK.

InformationsquelleAutor srk786 | 2015-02-19

Schreibe einen Kommentar