sql >> データベース >  >> RDS >> PostgreSQL

Postgresレコードタイプ関数を使用したビューの作成

    詳細な検査について:次のように複合返品タイプを分割する必要があるだけです:

    CREATE OR REPLACE VIEW "Sumario" AS 
    SELECT ...
     (conta_relatos("Fatores"."ID", "Fatores_1"."ID")).*
    FROM ...
    

    マニュアルの複合型へのアクセスの詳細。

    余談ですが、自分が何をしているのかを正確に理解していない限り、JOINに括弧を使用しないことをお勧めします。あなたがそれを持っている方法で、あなたは1つの特定の実行計画を強制しています。たぶん、それは最高のものではありません。

    最初のアプローチでエラーメッセージが誤って解釈されました

    RETURNS recordで関数を定義する場合 (可能な場合は避けます)、次のように、すべての呼び出しで列定義リストを提供する必要があります。

    SELECT * FROM conta_relatos(1,2) AS f(col1 int, col2 text, ...)
    

    ここのマニュアル を引用します :

    クリーンな解決策は、関数を変更してよく知られているタイプを返すことです。 匿名の記録の代わりに。状況に応じて、さまざまな方法でそれを実行できます。関数の書き直しに問題がある場合は、別の質問を開いてください。




    1. 多くのサイトで中央データベースサーバーを使用する:もっともらしい?

    2. Javaを使用したフライウェイの移行

    3. PHP-MySQL-MySQL整数フィールドを安全にインクリメントする方法は?

    4. 実行時エラー:-2147217887(80040e21) システムは、OraOLEDB のメッセージ ファイルでメッセージ番号 0x80040e21 のメッセージ テキストを見つけることができません