Re: Record with a field consisting of table rows
От | Tom Lane |
---|---|
Тема | Re: Record with a field consisting of table rows |
Дата | |
Msg-id | 19386.1294939220@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Record with a field consisting of table rows (Jon Smark <jon.smark@yahoo.com>) |
Ответы |
Re: Record with a field consisting of table rows
|
Список | pgsql-general |
Jon Smark <jon.smark@yahoo.com> writes: > create type page_t AS > ( > total int4, > users user_t[] > ); > create function get_page () > returns page_t > language plpgsql as > $$ > declare > _page page_t; > begin > _page.total := select count (*) from users; > select * into _page.users from users limit 10; > return _page; > end > $$; That is certainly not going to work: that select does not produce an array, it produces a column of user_t (of which SELECT INTO is only gonna take the first, anyway). Untested, but I think you'd have better results with _page.users := array(select users from users limit 10); It'd also be smart to get rid of user_t and rely directly on the "users" rowtype associated with the users table. regards, tom lane
В списке pgsql-general по дате отправления: