SQL-Anweisung, die Updates einer Oracle-Datenbank-Tabelle aus einer Excel-Tabelle
Möchte ich schreiben, einen SQL Update-Befehl, der ausgeführt werden könnte, einmal im Jahr zu aktualisieren Sie einen Datensatz für jedes Konto in einer Oracle-Datenbank basierend auf äußere Werte, die empfangen werden, in eine excel-Tabelle.
Meine Forschung so weit, dass ich möglicherweise in der Lage zu einem OPENROWSET-Befehl, aber die meisten Verweise zeigen dies von Excel nach MS SQL Server:
INNER JOIN
OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\foldername\spreadsheetname.xls;',
'SELECT column1name, column2name, column3name, column4name
FROM [worksheetname$]') EXT
Kann jemand überprüfen, ich bin auf dem richtigen Weg, oder noch besser, bieten Sie ein einfaches Beispiel?
Den grundlegenden Pseudo-Logik ist wie folgt:
Für jeden Datensatz in der Oracle-Tabelle USER_DEFINED, wo die CODE_FIELD ist gleich "CRS" UND wo ich einen Wert in der Tabelle mit einem passenden Konto-Nummer, Aktualisieren Sie das Feld WERT für den Datensatz in der Oracle-Tabelle USER_DEFINED mit dem Inhalt der Spalte "Wert" in der Tabelle.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht genau, was Sie anfordern, aber wenn ich du wäre (und da ist einmal im Jahr), ich würde erstellen Sie update-Anweisungen in Excel mit verketten-Formeln.
Wenn die ersten Zeilen/Spalten in Excel wie folgt Aussehen:
Dann führen Sie einfach copy/paste die resultierende Reihe von update-Anweisungen in SQL*Plus. Alle, die nicht über eine übereinstimmung in Ihrer DB nicht ein update auslösen, und solche, die übereinstimmen, werden aktualisiert.
Tun
commit
am Ende, und Sie sind fertig!