テーブルを呼び出すときにAを更新し、Aの行数をカウントして別のテーブルの値を更新するトリガを作りたいそれは行われる?PGSQL:別のテーブルの行のトリガカウンタ
答えて
あり、完全なサンプルはここにある: 機能your_function_name(parameters_goes_here)を作成returned_data_type_or_trigger_for_triggersがAS string_value_with_body RETURNS;:あなたが提供することになっているストアドプロシージャを作成するには http://www.postgresql.org/docs/9.3/static/plpgsql-trigger.html
通常、セミコロンはコマンドを終了するため、bodyは入力できません。他のデータベースはコマンド区切り文字を変更します。 PGでは、特別な文字区切り記号のドル記号を使用できます。このトピックの詳細をお読みください: What are '$$' used for in PL/pgSQL
これは難しいです。トピックの投稿を数えましょう。 2つのトピックの間で投稿を移動します。カウンターがあるので、トピックが更新されます。これは、更新ロックを意味します。 2つのトピックの間で2つの同時投稿が移動した場合はどうなりますか?最初の移動は基本トピックをロックし、他のものを試します。そして同じことが他のものにも起こります。 :D それに対処するには、両方が同じものであることを確認する必要があります。たとえば、トピックごとにIDをソートし、最初に選択します。
が、私はこのコード CREATE OR REPLACE FUNCTIONのcontar_formar() RETURNSが$ UPDATEのEQUIPOSのSETのnumeromiembrosをBEGIN $ BODY ASトリガーを作っ=(COUNT(*)を選択FROM formar)WHERE idequipo = (SELECT equipo FROM formar); END; $ BODY $ LANGUAGE plpgsql VOLATILE コスト100; 変更機能contar_formar() 投稿者に投稿する; 私はformarで何かを挿入しようとすると、その、動作していない、それは エラーが発生していると言う:、PL/pgSQLの関数contar_formar() –
を解決: ERROR:コントロールRETURN CONTEXTせずにトリガプロシージャの最後に到達します終了する前にRETURN NULLを追加しなければならなかった、助けてくれてありがとう! –
- 1. PL/pgSQL行の配列
- 2. PGSQLヘルプ、SELECT行バインド
- 3. pgsql動的挿入クエリの実行
- 4. MySQLからpgSQLへの移行
- 5. php7.0-pgsqlのインストール -
- 6. 非bdr pgsqlからbdr pgsqlにデータを移行する方法
- 7. Angularjsテーブル行を別のテーブルにプッシュ
- 8. にPL/pgSQL:テーブル内のループの結果を格納
- 9. ローカルの.CSVファイルからリモートサーバのpgsqlテーブルにデータをコピー
- 10. テーブルの行を別のテーブルにマッピングする複数の行
- 11. 更新テーブルの行別の行と同じテーブルから
- 12. テーブルの別の行の間に接続
- 13. 同じ行の別のテーブルのMySQLマージカラム
- 14. pl/pgsql親子テーブルとROWTYPEの配列を持つCTE挿入
- 15. テーブルの行を別のデータベースに挿入
- 16. 更新別のテーブルの行が
- 17. テーブル内のSQL順序の行を別のテーブルの値で
- 18. 列の値が別のテーブルと異なるテーブルの行
- 19. 別のテーブルからの削除行の後のテーブルから行を削除
- 20. 1つのSQL Serverテーブル内の別の行と行の比較
- 21. MySQLとPGSQLの汎用クエリ
- 22. PL/pgSQLストアドプロシージャの移植?
- 23. 奇妙なPgSQLのパーミッションエラー
- 24. ジャンゴ南:移行FK別のテーブル
- 25. テーブルから別の行を選択
- 26. テーブルから別の行にコピー
- 27. テーブル内の行を区別する
- 28. Postgres-pgsqlは、15億行以上のテーブルからデータを取得するのに時間がかかります
- 29. MySQLのあるテーブル行から別のテーブル行にデータを移動
- 30. テーブルの行が別の行にレンダリングされない
あなたの努力を示すまで、何を試してみましたか? –
私は非常にデータベースの作成に新しい、pgsqlには非常に新しいです、私はpostgresql.orgのドキュメントの後にトリガーを作成しようとしてきましたが、私は非常に手順を作成する方法はありません。私は、次のされたサンプルだった –