--视图的索引,可以自己去构造
select 序号=(select sum(1) from 视图 where 关键字<=A.关键字),
* from  视图 A

解决方案 »

  1.   

    --建表
    Create Table T(stcd varchar(10),name varchar(10))
    insert into T select 's001','A'
    union all select 's002','B'
    union all select 's003','C'
    union all select 's004','D'
    --建视图
    Create View VIEW_T
    as
    select * from T
    --查询
    select 序号=(select sum(1) from VIEW_T where stcd<=A.stcd),*
    from VIEW_T A
    --结果
    序号          stcd       name       
    ----------- ---------- ---------- 
    1           s001       A
    2           s002       B
    3           s003       C
    4           s004       D(4 row(s) affected)--删除测试环境
    Drop Table T
    Drop View VIEW_T
      

  2.   

    select autoid=(select sum(1) from HotPic_View where id<=A.id),
    * from  HotPic_View A执行报错如下:ODBC: 消息 0,级别 19,状态 1
    SqlDumpExceptionHandler: 进程 51 发生了严重的异常 c0000005 EXCEPTION_ACCESS_VIOLATION。SQL Server 将终止该进程。连接中断
      

  3.   

    视图HotPic_View的内容是:SELECT ID, Comp_ID AS Class_ID, Pic_Type, Pic_Url, Pic_Text, Pic_Hits
    FROM Comp_Pic
    WHERE Pic_Type = '企业LOGO&照片' AND Pic_Flage = 1 AND Pic_IsRec = 0
    UNION ALL
    SELECT ID, Personal_ID AS Class_ID, Pic_Type, Pic_Url, Pic_Text, Pic_Hits
    FROM Personal_Pic
    WHERE Pic_Type = '个人照片' AND Pic_Flage = 1 AND Pic_IsRec = 0Comp_Pic表:CREATE TABLE [dbo].[Comp_Pic] (
    [id] [int] IDENTITY (1, 1) NOT NULL ,
    [Comp_ID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
    [Pic_Type] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
    [Pic_Url] [varchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
    [Pic_Text] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
    [Pic_Hits] [int] NULL ,
    [Pic_Flage] [bit] NULL ,
    [Pic_IsMain] [bit] NULL ,
    [Pic_IsRec] [bit] NULL 
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    GOPersonal_Pic表:CREATE TABLE [dbo].[Personal_Pic] (
    [id] [int] IDENTITY (1, 1) NOT NULL ,
    [Personal_ID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
    [Pic_ID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
    [Pic_Type] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
    [Pic_Text] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
    [Pic_Url] [varchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
    [Pic_Hits] [int] NULL ,
    [Pic_Flage] [bit] NULL ,
    [Pic_IsMain] [bit] NULL ,
    [Pic_IsRec] [bit] NULL 
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    GO
    按你的修改,执行之后报错内容就是:ODBC: 消息 0,级别 19,状态 1
    SqlDumpExceptionHandler: 进程 51 发生了严重的异常 c0000005 EXCEPTION_ACCESS_VIOLATION。SQL Server 将终止该进程。连接中断
      

  4.   

    SQL SP3  补定安装了吗?
      

  5.   

    问题已解决,顺便问一下select autoid=(select sum(1) from HotPic_View where id<=A.id),
    * from  HotPic_View A这里的A是什么东东?