/ / ako prenášať dáta z jedného súboru csv / excel do viacerých tabuliek Oracle - excel, csv, plsql, oracle11g

ako prenášať dáta z jedného súboru csv / excel do viacerých tabuliek Oracle - excel, csv, plsql, oracle11g

Mám súbor Excel, ktorý má 15 stĺpcov a 1000 záznamov. Chcem načítať tieto dáta do 3 rôznych tabuliek Oracle.

Ako to môžeme urobiť? Mám najprv previesť súbor na csv?

Existuje ešte jedna komplikácia úlohy. Pred vložením do tabuliek musím vykonať nejaké validácie, napr. Mám stĺpec A v programe Excel Chcem použiť stĺpec A na odvodenie hodnoty B z tabuľky Oracle povedzme "karta", potom uložte B na tabuľku "tab".

odpovede:

0 pre odpoveď č. 1

Vo všeobecnosti je jednoduchšie pracovať s nespracovanými údajmi pomocou SQL, takže prvým krokom je jednoduchšie vyhľadávanie nespracovaných údajov.

Najnovším riešením je použitie externej tabuľky. Previesť tabuľku programu Excel do súboru CSV a následne definovať externú tabuľku na zadanie súboru. Potom môžete použiť ...

 INSERT INTO << table1 >> (...)
SELECT what_ever  FROM << external_table >>

... alebo dokonca ...

INSERT ALL
INTO << table1 >> (...)
INTO << table2 >> (...)
INTO << table3 >> (...)
SELECT *  FROM << external_table >>

... v závislosti od toho, aké pravidlá musíte použiť.

Ak vaša organizácia už používa externé tabuľkytoto by malo byť ľahko konfigurovateľné. Niektoré miesta však vtipne umožňujú interakciu databázy so súbormi operačného systému, takže tento prístup nebudete môcť používať. Dozvedieť sa viac.

Alternatívne môžete vytvoriť stagingovú tabuľku, ktorá zodpovedá súboru CSV a načítať dáta do súboru pomocou nástroja SQL * Loader. SQL * nakladač je nástroj na strane klienta, takže vyžaduje menej oprávnení na použitie.

Ak nechcete stavať žiadne nové štruktúryvšetko, čo môžete upraviť súbor CSV, aby vytvoril súbor príkazov SELECT z DUAL (použite UNION ALL) a vložte do cieľových tabuliek. Majstrovstvo regexu môže skutočne pomôcť s takými úlohami.


0 pre odpoveď č. 2

Ak je to rutinná činnosť, Použite SQLLDR - SQLLoader na načítanie nespracovaných údajov do stojacej tabuľky. Napíšte uložený postup s obchodnou logikou, ktorá je potrebná na transformáciu údajov z inštalačnej tabuľky na hlavné tabuľky