問題タブ [plpgsql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - postgresql でリビジョンを追跡する
テーブル内のレコードのリビジョンを追跡する必要があります。私が行ったことは、最初のテーブルから継承し、リビジョン カウンターを追加する 2 番目のテーブルを作成することです。
次に、A が挿入/更新されるたびにテーブル B を更新するトリガーを作成しました。私が理解できないのは、B.revision に各 ID の個別の「シーケンス」を保持させる方法です。
例: テーブル A には i と j の 2 つの行があります。
i は 3 回更新されており、3 つのリビジョン (1、2、3) があるはずです。
j は 2 回更新されており、2 つのリビジョン (1, 2) があるはずです。
これが私がこれまでに持っているものです。おそらく私は間違った道を進んでおり、誰かが私を助けることができます!
database - Postgres PL/PGSQL への Oracle プロシージャの移植 (特定の関数呼び出しを含む)
(これは、以前に尋ねた質問に似ています: Porting Oracle Procedure to PostgreSQL )
移植する必要があります:
と
と
Oracle から PG/PLSQL へ...
私はここまで来ました:
窒息するのは:
と
窒息する:
と
これらのいずれかのヘルプをいただければ幸いです (関数/ストアド プロシージャの世界は初めてです)。
sql - PostgreSQLのdatabase2の関数からdatabase1のテーブルを更新するにはどうすればよいですか?
database2の関数からdatabase1のテーブルを更新する方法はありますか(両方のデータベースが同じサーバー上にあります)?基本的にPostgreSQLのクロスデータベースアップデート。
関数はトリガーによって実行されますが、それは問題ではありません。
-=編集=-DBLinkを使用して作成できることはわかっていますが、ソースデータベースの変更はできるだけ少なくしたいと思います。私は他のいくつかのオプションを探しています。
postgresql - PostgreSQL:plpgsql関数内でトランザクションをロールバックしますか?
MS SQLの世界から来た私は、ストアドプロシージャを多用する傾向があります。私は現在、多くのPostgreSQLplpgsql関数を使用するアプリケーションを作成しています。私がやりたいのは、特定の関数内のいずれかの時点で例外が発生した場合に、特定の関数内に含まれるすべてのINSERTS/UPDATESをロールバックすることです。
私は当初、各関数が独自のトランザクションにラップされており、例外によってすべてが自動的にロールバックされるという印象を受けました。しかし、そうではないようです。代わりに、例外処理と組み合わせてセーブポイントを使用する必要があるかどうか疑問に思っていますか?しかし、これが最善のアプローチであるかどうかを知るために、トランザクションとセーブポイントの違いを本当に理解していません。何かアドバイスはありますか?
sql - ランダムに読み取り可能な文字列を生成するplpgsql関数
次の関数を作成しましたが、実行しても何も返されません。誰かが問題を特定するのを手伝ってもらえますか?
postgresql - 関数を作成せずにpl/pgsqlコードを実行するにはどうすればよいですか?
SQL Serverを使用すると、SQL Server Management Studioまたはその他のクライアントを介して、完全な手続き型ロジックを使用してコードアドホックT-SQLコードを実行できます。私はPostgreSQLの使用を開始しましたが、PGSQLでは関数にロジックを埋め込む必要があるという点で少し違いがあります。
実行関数を作成せずにPL/PGSQLコードを実行する方法はありますか?
sql - 違いはなんですか
これが何と呼ばれているのかさえわかりませんか?
しかし、私はplpgsqlにあるこのような関数を書くことの違いが何であるかを学ぼうとしています:
対
$$ と $foo$ の使用に違いはありますか? なぜ誰かが別のものを選ぶのでしょうか? おそらく、違いを説明するドキュメントを見逃したのでしょう。誰かが私を啓発できれば、本当に感謝しています。
sql - INSERT / UPDATEルール(トリガー)によって実行された関数からレコードを返す方法は?
私のデータベースに対して次のスキームを実行します。
次に、psqlと入力します。
次のようなものを見たい:
代わりに、以下を参照してください。
どういうわけかこれを修正することは可能ですか?
アイデアをありがとう。
最終的には、これを他の関数で使用して、挿入したばかりのレコードのIDを最初から選択せずに取得できるようにすることです。何かのようなもの:
いいのですが、エラーでは機能しません:
私はそのヒントを本当に理解していません。私はPostgreSQL8.4を使用しています。
php - PHPがPostgreSQL関数を呼び出す-タイプの問題?
PostgreSQL/plpgsqlに次のシグネチャを持つ関数があります。
ビューはどこ_get_session
にありますか。この関数はphpPgAdminから呼び出すと正常に機能しますが、PHPから呼び出すと、次のエラーが発生します。
警告:pg_query()[function.pg-query]:クエリに失敗しました:エラー:タイプ「session_ids」が存在しませんコンテキスト:/home/sites/blah.com/indexの2行目近くにあるPL/pgSQL関数「user_login」のコンパイル69行目の.php
関数のDECLAREセクションには、次の変数が含まれています。
ドメインsession_idsは存在し、同じドメインを使用する他の関数は、同じスクリプトから呼び出されたときに機能します。PHPは次のとおりです。
関数を呼び出すときの::session_ids
代わりにを使用してこれも試しましたが、同じエラーが発生します。::TEXT
ヘルプ:o(