pgAdmin IIIを使用して、特にPL / pgSQL関数を使用してpostgresDBにテーブルを作成したいと思います。次の一連のコマンドは、私にとっては問題なく機能します。
Create or Replace Function mk_tbl()
Returns Integer As $$
Declare
Begin
Drop Table if exists sel_streets;
Create Table sel_streets
(
id Integer,
Geom geometry
);
Create Index sel_streets_indx
ON sel_streets Using
gist (geom);
Return (1);
End $$ Language plpgsql volatile;
私はこのコマンドで関数を呼び出しています:
Select mk_tbl();
私の問題は、この関数を呼び出すたびに、postgres DBにテーブルが作成され、不要な「1」(SQLエディターの出力パネル)が返されることです。最終的に関数が何かを返す必要があることを認識しており、次のようなvoid構文を使用することもできます。
Create or Replace Function mk_tbl()
Returns Void As $$
...
ただし、必要なのは、この関数を呼び出すことです。この関数は、potgres DBにテーブルを作成するだけで、何も返さないはずです。特にPL / pgSQLを使用してこれを行うことは可能ですか?
空の結果の問題は何ですか?
DO
ステートメントを使用すると、必要な処理が実行されます。
DO LANGUAGE plpgsql $$BEGIN
PERFORM mk_tbl();
END;$$;
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加