If you can read Spanish, this article shows several methods for having row
numbers in the SELECT.

https://firebird21.wordpress.com/2013/05/13/numerando-las-filas-de-un-select/

Greetings.

Walter.


On Thu, Mar 19, 2015 at 5:28 AM, masb...@za-management.com
[firebird-support] <firebird-support@yahoogroups.com> wrote:

>
>
> Hi all,
> I have the need to implement something like a row number and read the last
> thread about the autoincrement number which also led me to this FAQ:
> http://www.firebirdfaq.org/faq343/
>
>
> I now tried something like this:
>
> select
> cast(rdb$get_context('USER_TRANSACTION', 'row#2') as integer) as
> row_number,
> rdb$set_context('USER_TRANSACTION', 'row#2',
> coalesce(cast(rdb$get_context('USER_TRANSACTION', 'row#2') as integer), 0)
> + 1) as SET_CONTEXT,
> <other columns>
> from mytable
>
> Which works fine. The first thing I now did is to create a derived table
> to get rid of the SET_CONTEXT part. I now experienced something very
> strange to me.
>
> When I did this:
>
> select s.* from
> (select
> cast(rdb$get_context('USER_TRANSACTION', 'row#2') as integer) as
> row_number,
> rdb$set_context('USER_TRANSACTION', 'row#2',
> coalesce(cast(rdb$get_context('USER_TRANSACTION', 'row#2') as integer), 0)
> + 1) as SET_CONTEXT,
> <other columns>
> from mytable) s
>
> all is fine and row numbers are fine.
>
> But when I explicitely call the individual rows like this;
>
> select
> s.row_number,
> s.<other columns>
> from
> (select
> cast(rdb$get_context('USER_TRANSACTION', 'row#2') as integer) as
> row_number,
> rdb$set_context('USER_TRANSACTION', 'row#2',
> coalesce(cast(rdb$get_context('USER_TRANSACTION', 'row#2') as integer), 0)
> + 1) as SET_CONTEXT,
> <other columns>
> from mytable)
>
> then the row numbers have all the same value namely the last counter
> position (highest last value).
>
> Am I doing something wrong?
>
> Kind regards Christian
>
>
>
>  
>
  • ... masb...@za-management.com [firebird-support]
    • ... masb...@za-management.com [firebird-support]
      • ... Louis van Alphen lo...@nucleo.co.za [firebird-support]
    • ... 'Walter R. Ojeda Valiente' sistemas2000profesio...@gmail.com [firebird-support]
      • ... masb...@za-management.com [firebird-support]
        • ... masb...@za-management.com [firebird-support]
          • ... Louis Van Alphen lo...@nucleo.co.za [firebird-support]

Reply via email to