私は、結合された行を1つ選択し、それをPLSQL変数に格納したいと思います。PostgreSQLのSELECT ... JOIN ... INTOの結果をどのように解釈するのですか?
私の最善の策は、RECORD
タイプに見えたが、それはどこでも私を取得できませんでした:
DECLARE cur_acct_and_balance RECORD;
BEGIN
-- we start from _acct
SELECT INTO cur_acct_and_balance *
FROM Accounts acct JOIN Balances bal ON acct.id = bal.account_id
WHERE acct.id = _acct.id AND bal.currency = _currency;
-- raise the variable, maybe we learn something...
raise exception '%', cur_acct_and_balance;
ので...私はcur_acct_and_balance
変数に何かを置くことに成功したが、何? :D私はそれを点検するために、例外として、結果の変数を上げてみましたありませんが、結果の解釈には運:非常に有用ではありませんでした
ERROR: (5707,5706,,,"{""logid"":""A/1/2/0""}","2017-05-19 21:44:40.672074","2017-05-19 21:44:40.672074",3170,5707,0,191,"2017-05-19 21:44:40.662101","2017-05-19 21:44:40.662101")
。私はcur_acct_and_balance.acct IS NOT NULL
としてそれを評価しようとした場合、私は私は私は良いリソースはグーグルが見つかりませんでした
ERROR: missing FROM-clause entry for table "acct"
を得るcur_acct_and_balance.acct.id IS NOT NULL
としてそれを評価しようとすると、私は
ERROR: record "cur_acct_and_balance" has no field "acct"
を取得するので、私はここで良い人をすることができます願っています今の
UPDATE
^_ ^いくつかの助けになる私は単にfunctiを書き直しジョインを使用しないようにするには、しかし、私はまだ知って興味がある、私はより良い実行する必要があります結合の変形を推測しています。
使用 'jsonbは、 '型なしの' record'の代わりに、より多くのabilitieそれを管理する: 'cur_acct_and_balance jsonbを宣言する; ... from to_jsonb(*)from cur_acct_and_balance into ...; ' – Abelisto
良い点、私はこれで遊ぶよ<3 – bbozo