有一个办法是将生成视图的各个表的主键合在一起,来表示这个视图的主键,但是有些情况下,视图生成不是连接的,而是, union 成的,这个时候,怎么办呢?

解决方案 »

  1.   

    有一个办法是将生成视图的各个表的主键合在一起,来表示这个视图的主键,但是有些情况下,视图生成不是连接的,而是, union 成的,这个时候,怎么办呢?
      

  2.   

    COPY一下邹老大的回复
    --产生唯一值很简单
    select newid() as 列名,* from  表--如果记录不是非常多,使用
    select checksum(newid()),* from 表
    --如果要序号,只要表中有主键,或者值唯一的列,可以使用下面的方法:select (select count(*) from 表 where 主键<=a.主键),* from 表 a
    具体见此贴:
    http://community.csdn.net/Expert/topic/4112/4112826.xml?temp=.749386