Thread: Automatic row numbering / sequence in view ?

Automatic row numbering / sequence in view ?

From
Arnaud Lesauvage
Date:
Hi List !

I need to add a column to a view, which would contain an automatically
generated sequence.
An automatic row numbering would do the trick (I only need unique
numbers, that's all), but I don't even know how to achieve this.
Does anybody have a solution for this problem ?

Thanks a lot !
--
Arnaud


Re: Automatic row numbering / sequence in view ?

From
"Merlin Moncure"
Date:
On 10/10/06, Arnaud Lesauvage <thewild@freesurf.fr> wrote:
> Hi List !
>
> I need to add a column to a view, which would contain an automatically
> generated sequence.
> An automatic row numbering would do the trick (I only need unique
> numbers, that's all), but I don't even know how to achieve this.
> Does anybody have a solution for this problem ?

sure a sequence works. try this:

create sequence foo;

create view foobar as select *, nextval('foo') from bar;

If your query is complex, i would consider it to be good style to push
the real view into a subquery, such as:

select q.*, nextval('foo') from
(
  [complex query here]
) q;

merlin

Re: Automatic row numbering / sequence in view ?

From
Arnaud Lesauvage
Date:
Merlin Moncure a écrit :
> On 10/10/06, Arnaud Lesauvage <thewild@freesurf.fr> wrote:
>> Hi List !
>>
>> I need to add a column to a view, which would contain an automatically
>> generated sequence.
>> An automatic row numbering would do the trick (I only need unique
>> numbers, that's all), but I don't even know how to achieve this.
>> Does anybody have a solution for this problem ?
>
> sure a sequence works. try this:
>
> create sequence foo;
>
> create view foobar as select *, nextval('foo') from bar;
>
> If your query is complex, i would consider it to be good style to push
> the real view into a subquery, such as:
>
> select q.*, nextval('foo') from
> (
>   [complex query here]
> ) q;
>
> merlin

How, great !
I did not know that way to use a sequence ! Still learning ! ;)
The query is quite complex indeed, so I will try with a subquery !
Thanks a lot Merlin !

--
Arnaud