問題タブ [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.
python - Psycopg2 callproc および sql パラメーター
私はいくつかのSQL関数を手に入れました
そしてPsycopg2から(それが重要な場合はDjangoの内部にあります)私はそうします
ただし、関数は、結果と OUT パラメータを無視して、指定したものとまったく同じ入力シーケンスを返します。IN OUT に変更し、いくつかの foo 値を渡しても何も変わりません。データベース内で呼び出された場合、SQL 関数は期待どおりに動作します
postgresql - postgresql: EXECUTE の動的コマンドで NEW.* を使用する
id列による挿入前にテーブルを自動的に分割するpostgresql 8.3用のplpgsqlトリガーを作成しようとしています
宛先テーブルが存在しない場合は作成され、そこに挿入されます
だから私はこのような新しいテーブル名で挿入ステートメントを作成しました
エラーが発生します:
2 つの質問があります。
- EXECUTE で NEW を使用することさえ可能ですか、それともステートメントに間違いがありますか?
- それが不可能な場合は、ステートメントで値を使用できるように、NEW から値を取得する方法を誰かが知っていますか? 私の頭に浮かぶ唯一のことは、 information_schema を使用してメインテーブルの列名を取得し、次に NEW の値に動的にアクセスしようとすることです-これも方法がわかりません:(
どうも
postgresql - SELECTおよびFUNCTIONに基づいてフィールドを更新するPostgreSQLおよびpl/pgsql SYNTAX(whileループ、DISTINCT COUNT)
大規模なデータベースがあり、新しいフィールドを更新するためのロジックを実行したいと考えています。
主キーはid
テーブルharvard_assignees用です
ロジックはこのようになります
- に基づいてすべてのレコードを選択します
id
- 各レコード(WHILE)について、
if (state is NOT NULL && country is NULL), update country_out = "US" ELSE update country_out=country
ステップ1をPostgreSQLクエリとして、ステップ2を関数として見ています。正確な構文でネイティブに実装する最も簡単な方法を見つけようとしているだけです。
==== 2番目の関数はもう少し興味深いもので、必要です(私は信じています)DISTINCT
:
- すべてのDISTINCTforeign_keys(pat_type、patentの2変量キー)を検索します
- その値を含むレコードをカウントします(たとえば、n =3レコードにはfkey"D"、 "388585"があります)
- これらの3つのレコードを更新して、パーセントを1 / nとして識別します(たとえば、UPDATE 3レコード、パーセント= 1/3に設定)
postgresql - postgresql関数またはトリガーからhttpリクエストを送信するにはどうすればよいですか?
関数またはトリガーからhttpプロトコル(GETまたはPOSTリクエスト)を介してデータを送信する必要があります。出来ますか?
sql - この T-SQL コードを PostgreSQL / plpgsql に変換する方法
次の tsql 関数コードを plpgsql 関数に変換する必要がありますが、その方法がまったくわかりません。
ここに全引用があります:
sql - plpgsqlでの多次元varchar/text配列の作成(postgres)
サーバー側のコードからデータベースに取得したい機能がいくつかあります。
plpgsqlで多次元varchar配列の値を設定する方法がわかりません。
これが私がやろうとしていることの例です:
私の人生のために、私はこれを機能させる方法を理解することができません。
どんな助けでも素晴らしいでしょう。ちなみに私はpostgres8.1を使用しています(そのバージョンでスタックしています)。
sql - 有向グラフをトラバースし、見つかったすべてのエッジを返すための PostgreSQL SQL または PL/pgSQL クエリ
私は複雑な SQL クエリを生成することに特に慣れておらず、ネットワーク トラバーサル用の再帰クエリを考案する際に、手続き型言語とセットベースの操作の理解を組み合わせるのに苦労しています。有向グラフの深さ優先検索を実行して、特定のノードの「上流」にある一連のエッジを見つけたいと考えています (各ノードには複数の上流エッジを含めることができます)。これを SQL で実装するのが理想的です。
私がやりたいことの擬似コードは次のようになります。
純粋な SQL で次の関数を既に作成しました。
WITH RECURSIVE
しかし、上記の疑似コードを PostgreSQLクエリまたは PL/pgSQL 関数に変換するときに、スコープと戻り値の型を管理する方法を理解するのに苦労しています。私が見たWITH RECURSIVE
クエリの例のほとんどは、各ノードが親を 1 つしか持たないツリーをトラバースするために考案されたものです。これについての最善の方法について、誰かヒント/アドバイスはありますか?
乾杯、
意思
sql - NEW ステートメントを使用した PSQL 行の更新
INSERT INTO some_table VALUES (NEW.*) in pl/pgsql 同様のことを行うことができますが、 NEW を使用する UPDATE 句に対しては可能ですか? つまり、NEW オブジェクトの値を使用して一部の行を更新したいということです。
前もって感謝します。
postgresql - エラー: 引用符で囲まれた文字列が終了していません。
ANT を使用して以下に示すトリガー コードを実行すると、エラーが発生します
PGADmin (postgres が提供) とコマンド ライン ユーティリティ "psql" を介して以下のコードを正常に実行でき、トリガー関数が追加されますが、ANT を介して実行している間は毎回失敗します。
performance - 別のSETOF関数の結果を返すSETOF戻り関数のパフォーマンス?
2つの引数を取り、SETOFの結果を返す関数を作成しました。
CREATE FUNCTION foo(parentId bigint、childId bigint)RETURNS SETOF barAS..。
この関数の呼び出しを簡単にする2つの「ラッパー」を作成したいと思います。
FOO()
postgresは、が呼び出されたときの結果を直接返すのに十分スマートですか、それとも実行中FOO_CHILD()
にすべての結果をコピーしてからそれらの結果を返しますか?FOO()
FOO_CHILD()
pgplsqlが末尾呼び出しの最適化を行うかどうかを尋ねていると思います!
編集:私はPostgres8.2を使用しています。