Re: DB2's row_number()
От | Darcy Buskermolen |
---|---|
Тема | Re: DB2's row_number() |
Дата | |
Msg-id | 200307171116.18654.darcy@wavefire.com обсуждение исходный текст |
Ответ на | DB2's row_number() (Hans-Jürgen Schönig <postgres@cybertec.at>) |
Список | pgsql-hackers |
Here is how I doi it when I need to... BEGIN; CREATE TEMP SEQUENCE row_num; SELECT next_val('row_num'), relname FROM pg_class LIMIT 3; ROLLBACK; You could also do this with a Set Returning Fucntion so that it returns the nextval in a simular way On Thursday 17 July 2003 08:03, Hans-Jürgen Schönig wrote: > I had a brief look at DB2's row_number function which seems to be pretty > useful. > What it does is: > > test=# SELECT row_number(), relname FROM pg_class LIMIT 3; > row_number | relname > ------------+---------------- > 1 | pg_description > 2 | pg_group > 3 | pg_proc > (3 rows) > > This makes sense to me and I need this feature from time to time. My > question is: How do I find out when a query starts? Inside a table > function I can call SRF_IS_FIRSTCALL() to see when it is called first. > Is there an easy way to check that inside an "ordinary" C function > returning just one value? > Currently my function counts the number of times it has been called per > connection. I could write a second function for resetting the counter > but this is not too smart ... > > Regards, > > Hans -- Darcy Buskermolen Wavefire Technologies Corp. ph: 250.717.0200 fx: 250.763.1759 http://www.wavefire.com
В списке pgsql-hackers по дате отправления: