私はPostgreSQLに非常に慣れていません。実際、以前は MySQL を使用していましたが、プロジェクト固有の理由により、postgreSQL を使用して POC を行う必要があります。
問題は次のとおりです。MySQL LOAD DATA INFILE コマンドを使用して、列の内容をファイルからデータベース テーブルにロードしていました。
私のテーブル構造は次のとおりです。テーブル名:MSISDN テーブル列名:ID(主キー - 自動生成)、JOB_ID、MSISDN、REGION、STATUS
しかし、入力テキスト ファイル (rawBase.txt) には次の列しかありません: MSISDN、REGION
そのため、以下のコマンドを使用して、上記の 2 列に初期 JOB_ID と STATUS をロードしていました。
LOAD DATA INFILE 'D:\\project\\rawBase.txt' INTO TABLE MSISDN
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(MSISDN,REGION)
SET JOB_ID = 'XYZ1374147779999', STATUS = 0;
入力テキスト ファイルに存在しない列 (JOB_ID および STATUS) の特定の初期値を設定できる LOAD DATA INFILE コマンドで使用可能なオプションがあることがわかります。
今、
postgreSQL の場合は、同じことをしたいです。
以下のように、同じ種類の COPY FROM を使用できるコマンドもあります。
COPY MSISDN FROM 'D:\\project\\rawBase.txt' WITH DELIMITER AS ','
しかし、入力テキスト ファイルに存在しない残りの列 (JOB_ID と STATUS) に特定の初期値を設定することはできません。これを行う実りある例は得られません。
可能であれば何か提案をお願いします。
よろしく、サンディ