如果不存在主键(或是有唯一约束的列)(keycol)那就不会了
create view v as 
select sn=(select sum(1) from test where keycol<=a.keycol),* from test a

解决方案 »

  1.   

    应该是:
    create view v as 
    select sn=(select sum(keycol+1) from test where keycol<=a.keycol),* from test a
      

  2.   

    sn 为在字段Keycol上自增的列吧,我没有SQL环境。随手试的。
      

  3.   

    试过了就知道了,没事,加不加1都一样,只要keycol能够唯一
      

  4.   

    sum(1)只要有一行就会加1,并不是就只有1运行:
    select sum(1) from sysobjects   --sysobjects共有84行/*结果如下
    ----------- 
    84    (所影响的行数为 1 行)
    */
      

  5.   

    还是不对,不是自动编号自动增加1啊,我想实现有一个列为自动编号增加为一的
    CREATE VIEW dbo.v
    AS
    SELECT id, a, b,
    'a' as myfield
    FROM dbo.test
    只要把myfield字段实现自动编号,而且增加值为1就可以了
    谢谢!