似乎有人问过类似的问题,其他数据库产品(尤其是 MS-SQL)存在解决方案,但它们不适用于 sybase,所以我问这个问题。
我有一个简单的选择语句,我想得到一个包含和递增计数器的列以及结果。
例如:
counter data1 data2
0 aa AA
1 bb BB
2 cc CC
有没有办法在单个语句中执行此操作,而不是将其放入临时表并在其上运行游标?
似乎有人问过类似的问题,其他数据库产品(尤其是 MS-SQL)存在解决方案,但它们不适用于 sybase,所以我问这个问题。
我有一个简单的选择语句,我想得到一个包含和递增计数器的列以及结果。
例如:
counter data1 data2
0 aa AA
1 bb BB
2 cc CC
有没有办法在单个语句中执行此操作,而不是将其放入临时表并在其上运行游标?
您还需要创建一个临时表,但不需要任何游标,只需这样做:
select counter = identity(10), data1, data2 into #t1 from tablename
select * from #t1
drop table #t1
根据您使用的 Sybase 版本,您还可以查看类似NUMBER()
or的函数ROW_NUMBER()
。