sql >> データベース >  >> RDS >> PostgreSQL

CSVデータを使用した変数からのPostgresコピー

    これは、SQLの COPYでは不可能です。 指図。 コピー ファイルからのコピーのみ またはSTDIN

    変数の内容をファイルに書き込むか、STDINを介してパイプすることができます。数行以上の場合にのみ意味があります。

    更新前にあなたの質問を誤解したと思います。おそらくこれは必要ありません:

    ファイルパスは他のデータ項目のように交換することはできず、そのためにプリペアドステートメントを使用することはできません。 全体を作成する 実行する前のステートメント、または次のようなサーバー側関数を使用した動的SQLに頼る:

    CREATE OR REPLACE FUNCTION f_cp(_file text)
      RETURNS void AS
    $BODY$
    BEGIN
    EXECUTE format($$COPY zip_codes FROM %L DELIMITER ',' CSV$$, $1);
    END
    $BODY$
      LANGUAGE plpgsql;
    

    電話:

    SELECT f_cp('/var/lib/postgres/sync/myfile.csv')
    

    format() Postgres9.1以降が必要です。




    1. MySQLで現在の日付を取得する方法

    2. LinuxにSQL*PLUSクライアントをインストールする方法

    3. SQL Server DataTypesと同等のC#

    4. MicrosoftT-SQLからOracleSQLへの変換