4

一連のクエリ (複数の SQL 更新) を、pgAdmin3 (PostgreSQL 9.1) を使用して実行できる単一の要素として保存したいと考えています。

単一の SELECT をビューとして保存できることはわかっていますが、複数の UPDATE クエリはどうですか?

例:

BEGIN;
UPDATE ...;
UPDATE ...;
COMMIT;

更新: 私が探しているのは、ストアド プロシージャを作成する SQL クエリを実行するのではなく、GUI を使用してストアド プロシージャを追加する手順を追ったガイドです。

これまでのところ、 で 2 つの問題が発生しまし"New function..."た。戻り値の型が必要であり、NULL は受け入れられないことがわかったので、試してみintegerました。また、タイプをに設定しSQLますが、[SQL] タブ内に正確に何を記述すればよいかわかりません。何を試しても [OK] ボタンは無効のままで、ステータスバーには次のように表示されます: 関数のソース コードを入力してください。

4

2 に答える 2

4

ストアド プロシージャ (まあ、ストアド プロシージャのような関数) を知っていますか、または試しましたか?

http://www.postgresql.org/docs/9.1/interactive/plpgsql-structure.html

それを呼び出すには

select <name of function>(<param1>, <param2>) as result;
于 2012-04-10T15:27:50.917 に答える
1

これは、1を返す基本的なSQLストアドプロシージャの欠落しているガイドです。

  • [関数]を右クリックして、[新しい関数... ]を選択します。
  • nameとしてmy_procedurereturn typeとしてintegerlanguageとして完全sql
  • [定義]タブを選択して書き込みますSELECT 1;
  • 終わり

何も返さないクエリを作成できるかどうかを知っておくと便利です。

于 2012-04-11T09:33:26.480 に答える