[11/15開催: PostgreSQL Conference Japan 2019 参加受付中] 
他のバージョンの文書 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

dblink_build_sql_delete

名前

dblink_build_sql_delete -- プライマリキーフィールドの値として提供された値を使用したDELETE文を構築します。

概要

dblink_build_sql_delete(text relname,
                        int2vector primary_key_attnums,
                        integer num_primary_key_atts,
                        text[] tgt_pk_att_vals_array) returns text

説明

dblink_build_sql_deleteはローカル側のテーブルの一部を選択した複製をリモートデータベースに行う場合に有用になる可能性があります。 これは指定したプライマリキーの値を持つ行を削除するDELETE SQLコマンドを構築します。

引数

relname

例えばfoomyschema.mytabといったローカル側のリレーションの名前です。 例えば"FooBar"のように名前に大文字小文字が混在する場合や特殊文字が含まれる場合は二重引用符で括ってください。 引用符がないと文字列は小文字に変換されます。

primary_key_attnums

例えば1 2といった、プライマリキーフィールドの属性番号(1始まり)です。

num_primary_key_atts

プライマリキーフィールドの個数です。

tgt_pk_att_vals_array

最終的なDELETEコマンドにおいて使用されるプライマリキーフィールドの値です。 各フィールドはテキスト形式で表されます。

戻り値

要求したSQL文をテキストとして返します。

注釈

PostgreSQL 9.0の段階で、primary_key_attnumsの中の属性数は、SELECT * FROM relname内の列の位置に対応する、論理的列数として翻訳されます。 以前のバージョンは物理的な列の位置として数を翻訳しました。 テーブルの存続期間中に、表示された列の左側のどんな列でも削除されると差異が生じます。

SELECT dblink_build_sql_delete('"MyFoo"', '1 2', 2, '{"1", "b"}');
           dblink_build_sql_delete
---------------------------------------------
 DELETE FROM "MyFoo" WHERE f1='1' AND f2='b'
(1 row)