私はnoob免責条項:PostgresSQLにPL関数のクエリ情報を使用させるにはどうすればよいですか?
私はPostgresには新しく、PL機能の限界と能力について理解していません。単純な並べ替えをしたいと思いますが、Cで最もうまくいくと思いますが、コードブロック内からデータベースからデータを取り出す方法と混同しています。私が読んだところでは、Cからデータベースへの接続を確立してからクエリを実行する必要があるようです...もっと良い方法があると思うかもしれませんが(あるいは何かが欠けていると思います) - あなたのコンテナ関数が属しているデータベースに接続するのは不必要に正式なようです。
私は何をしようとしている:template_set_id、template_set、next_template_set_id:私は、次のフィールドを持つテーブルのtemplate_setを持って
。レコードのグループは、それらが一緒に属していることを示す同じtemplate_set値を持ちます。これらのレコードを選択し、next_template_set_id値だけを使用して順番に表示させたいと考えています。簡単なことは、スタックを作成し、最後のアイテム(next_template_set_id = nullの場所)をスタックにプッシュし、次にnext_template_set_idがスタック上の最後のアイテムのIDであるアイテムを、すべてのアイテム疲れた。十分に簡単ですが、これを行うには、関数にSQLデータのセット、配列、またはタプルを取得する必要があります。私は1つの関数を取得することができますし、整形するためにAC関数のsetof template_setテーブルを返すことができますが、もし私がした場合、その関数setofは、postgres内に存在するだろうと私はAC関数に戻ることができるかどうかわからないそのようなデータを取ることができますか?)
質問:
それが属するデータベースからデータを取得するためのPostgreSQLのC関数を取得するための最良の方法は何ですか?接続とカーソルのオーバーヘッドをすべて作成せずにac関数内からデータベースを照会できますか、またはc関数を操作する必要があるすべてのデータを関数に渡す必要がありますか?あなたは複数のデータレコードを渡す)?
https://www.postgresql.org/docs/9.6/static/libpq.html – joop
「私はCで最もうまくいくと思う単純な並べ替えをしたい、なぜこれはできないと思いますか? SQLで行うのですか?あなたのデータの例とあなたの意図した結果を教えてください。 – joop