在SQL SERVER中好象没有办法在视图中做到这点,但你可以用临时表来实现的。
新建一个跟你需要的视图字段相似的临时表,但该临时表的字段要比所需得到的字段多一个Identity列,当建立好临时表后,就可以使用SQL语句将你所需要的数据插入临时表,此时IDENTITY列就是序号列。
建立临时表:
Create Table #Test 
(
Col int identity(1,1)
.
.
.
)
将数据插入临时表:
insert into #Test select * from TableName

解决方案 »

  1.   

    select identity(int,1,1) id0,* into #Test from TableName;
      

  2.   

    若您的表中有主键或Uniqe的字段,假设表结构如下
    create mytable(col1 int primary,col2 char(10))

    create mytable(col1 int Unique,col2 char(10))
    可以这样建立试图
    create view myview(rowid,col1,col2)
    as
    select rowid=(select count(*) from mytable t1 where t1.col1<=t2.col1) ,col1,col2 from mytable t2