ストアド・プロシージャ/ファンクションについては初心者です。私はGoogle、Stackoverflow、Youtubeを検索して、いろいろな種類の例を探しています。ストアド・ファンクションpostgresql return table
PostgreSQLでテーブルを返すためのストアドファンクションの基本的な構文を理解しようとしています。 MySqlではこれは初歩的なものですが、私はPostgresqlの構文を頭に入れていないようです。以下に示すように、必要な行(テーブル)を返す必要があるSQL文があります。私は次のコードを試したが動作しません。ヘルプは大変ありがとうございます。事前に感謝します。
CREATE OR REPLACE FUNCTION Getcurrent()
RETURNS table AS $schedule$
$BODY$ BEGIN
SELECT *
FROM archived_table
WHERE table_id>=ALL(SELECT table_id FROM archived_table);
RETURN schedule;
END;$BODY$
LANGUAGE plpgsql;
********** **********エラー
ERROR: syntax error at or near "AS"
LINE 2: RETURNS table AS $schedule$
^
これはエラーメッセージです。
私は以下のリンクを参照しており、これには運がありませんでした。 https://www.postgresql.org/docs/9.1/static/sql-createfunction.html 私の会社のサーバー上の公開スキーマのpgAdminIIIを使用しています。
目的の結果は、関数が呼び出された後にテーブルを返すことです。
'戻ります。 –
無関係ですが、最も高い 'table_id'を持つ行を返すつもりなら、Postgresでこれを行うもっと効率的な方法があります。 –
また、「* MySqlでこれは基本的なものです」*「いいえ、関数から結果セットを返すことができないからです。 –