私は入力としてクエリの文字列表現をとるPostgreSQLライブラリの拡張に取り組んでいます。基本的には、この文字列ベースのクエリが生成したテーブルをインスタンス化して変更し、別の関数に渡す必要があります。PostgreSQLのEXECUTE文の構文エラー
今私は一時テーブルとしてinstatiatedクエリを取得しようとしていますので、私は、このサンプルクエリを使用しています:
CREATE TEMPORARY TABLE pgr_table (seq INTEGER, path_seq INTEGER, node INTEGER, edge BIGINT, cost DOUBLE PRECISION, agg_cost DOUBLE PRECISION);
EXECUTE 'SELECT gid AS id, source, target, cost, reverse_cost FROM ways;' INTO pgr_table;
しかし、これは単なるEXECUTE
コマンドの後に、構文エラーになります。正しく使用していないのですか?
ところで、私はSQLインジェクションの危険性を認識しており、EXECUTE
ウィリーニリーを使用しています。私が作成しているクエリは、フロントエンド用に設計されておらず、私が変更しているライブラリで既に設定されているデザインパターンに従っています。
PL/pgSQL関数内では 'execute'しか使用できません –
SQL実行とplpgsql実行を混同します。 –