SQLステートメントを使用して単一のテーブルに挿入する必要があるExcelシートに約400のレコードがあります。これらすべてのデータの更新ステートメントを1つずつ手動で記述する必要がある場合、非常に忙しいです。ある種のスクリプトなどを使用して、すべてのデータをそのテーブルに更新できる効率的な方法はありますか? 時間を大幅に節約できるので、とても助かります。
前もって感謝します。
Excel スプレッドシートを CSV ファイルとしてエクスポートし、Oracleの外部テーブルを使用してデータにアクセスするだけです。
CREATE TABLE external_table (
id varchar2(10),
col varchar2(20),
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir
ACCESS PARAMETERS (FIELDS TERMINATED BY ',')
LOCATION ('mydata.csv'))
次に、Excel スプレッドシートのデータでテーブルを更新するだけです。
merge into my_table t1
using external_table t2
on ( t2.id = t1.id )
when matched then
update set t1.col = t2.col
when not matched then
insert (id, col) values(t2.id, t2.col)
セルの値を使用して、Excel のネイティブ連結演算子を使用して挿入ステートメントを作成し、それらの値をコピーして貼り付けることができます。
1) Developer を使用する機会があればPLSQL
、TEXT Importer と でデータベースにデータをロードできますODBC Importer
。