0

PostgreSQL 9.0.3 を使用しています。Windows OS のいくつかのテーブルにロードする大量のデータを含む Excel スプレッドシートがあります。

I have written the script to get the data from input file and Insert into some 15 tables. This can't be done with COPY or Import. I named the input file as DATALD.
I find out the psql command -d to point the db and -f for the script sql. But I need to know the commands how to feed the input file along with the script so that the data gets inserted into the tables..

For example this is what I have done:

begin
for emp in (select distinct w_name from DATALD where w_name <> 'w_name') 
--insert in a loop 
INSERT INTO tblemployer( id_employer, employer_name,date_created, created_by) 
  VALUES (employer_id,emp.w_name,now(),'SYSTEM1'); 

Can someone please help?

4

1 に答える 1

1

SQL スクリプトの場合は、..

  • スクリプトで(同じファイル内に)データをインライン化するかのいずれかです。
  • またはCOPY、データを Postgres にインポートするために使用する必要があります。

フォーマットがターゲット テーブルに合わないように見えるため、一時的なステージング テーブルを使用していると思われます。コード例:
PostreSQL で新しい行のみを一括挿入する方法

のような他のオプションがありますpg_read_file()。しかし:

これらの機能の使用は、スーパーユーザーに制限されています。

特別な目的のために意図されています。

于 2013-07-16T21:06:50.303 に答える