postgresの関数でselect * from some_tableを使用するにはどうすればよいですか?PostgreSQL関数select *
1
A
答えて
5
CREATE OR REPLACE FUNCTION my_function() RETURNS INTEGER AS '
DECLARE
your_record your_table%ROWTYPE;
BEGIN
FOR your_record IN SELECT * FROM your_table
LOOP
--
-- You can access fields of your table using .
-- your_record.your_field
...
END LOOP;
END;
' LANGUAGE 'plpgsql'
STABLE;
または
CREATE OR REPLACE FUNCTION my_function() RETURNS INTEGER AS '
DECLARE
your_record your_table%ROWTYPE;
BEGIN
SELECT * INTO your_record FROM your_table;
--
-- You can access fields of your table using .
-- your_record.your_field
END;
' LANGUAGE 'plpgsql'
STABLE;
EDIT:
では、レコードを返す参加:(はmy_functionを使用するには
CREATE OR REPLACE FUNCTION my_function() RETURNS SETOF record AS '
DECLARE
your_record record;
BEGIN
--
-- You should specify a list of fields instead of *
--
FOR your_record IN SELECT * FROM your_table INNER JOIN ...
RETURN NEXT your_record;
END LOOP;
END;
' LANGUAGE 'plpgsql'
STABLE;
)を、あなたがする必要はありフィールドとデータ型を指定します。 See details here
+0
しかし、私は他のテーブルとの結合をしたいですか? – Markus
+1
@ cmax:同じもの。それに参加するだけです。あなたがSQL joinを書く方法を知っていると仮定すると、同じことを関数で行うことができます。おそらくもっと詳細な質問をする必要があります。 –
2
ありsmipler方法は、あなたが関数内でSQLを使用したい場合は、関数内でSQL言語を使用し、次のとおりです。
CREATE FUNCTION getallzipcodes()
RETURNS SETOF zip AS
$BODY$
SELECT * FROM zip;
$BODY$
LANGUAGE 'sql';
そして、これが(どのようにあまりにも役に立つかもしれませんあなたは、関数からの復帰を意味
SELECT function_returning_setof(); -- Wrong!
SELECT * FROM function_returning_setof(); -- OK!
SELECT function_returning_scalar(); -- OK
関連する問題
- 1. PostgreSQLの関数
- 2. PostgreSQL関数
- 3. PostgreSQLのisset関数
- 4. bashのselect関数
- 5. PLPGSQL関数内ではなく、SELECTクエリ内でPostgreSQL配列をループする
- 6. PostgreSQLネストされたSELECT
- 7. 一時テーブルpostgresql関数
- 8. のPostgreSQL - 更新 - 関数
- 9. PostgreSQLの - 配列関数
- 10. PostgreSQL 8.0.1のクロスタブ関数
- 11. 配列をC関数に渡すPostgreSQLの集約関数
- 12. PostgreSQLのSELECTマイナス配列(NOT IN)
- 13. postgreSQL - 多くのデータベースのselectステートメント
- 14. MySQL selectをPostgreSQLに変換する
- 15. SELECT文でカスタムpostgresqlパラメータをクエリ
- 16. PostgreSQLの大きなテーブルのSELECT/INSERTパフォーマンス?
- 17. PostgreSQL:関数の結果を得る
- 18. Postgresqlワイルドカードから関数検索
- 19. 任意の型を返すPostgreSQL関数
- 20. postgresqlの関数の構文エラー
- 21. postgresqlの呼び出し関数
- 22. generate_series()関数がありません。PostgreSQL
- 23. C++でPostgreSQL関数を書く
- 24. PostgreSQLのrandom()関数の品質は?
- 25. DataTable Select(String)関数のヘルプVB .NET
- 26. PostgreSQLストアド関数から複数のデータベースにアクセスする
- 27. PostgreSQLで関数内に変数を宣言できません
- 28. PostgreSQLでdistinct関数とaggregate関数を使用していますか?
- 29. Pythonのselectモジュールのselect()関数はどのように機能しますか?
- 30. postgresqlのバックスラッシュに関して
)関数を呼び出しますか?さもなければ質問は意味をなさない。あなたは何を試したのか、どのようなエラーがあったのかを指定する必要があります。 –
達成したいこと、何を試したこと、失敗したか、どのように機能させるかなど、より多くの情報を提供することができます。 –