有如下两个表:
Users表
UserNo   username     sex
1         admin       男
2         User        女
3         Cat         女
.....
UserInfo表
UserNo      Age     Description 
2            21        用户
3            19        游客
要求利用存储过程建立一张临时表,临时表的插入的结果是两张表通过连接查询出来的
即:
AutoID     UserNo    UserName        Sex
1             2          User        女2             3           Cat        女
临时表结构要求在Users表的基础上加入一个自增字段AutoID ,请问这个存储过程怎么写?知道的回答下!!!

解决方案 »

  1.   

    create proc pp
    asif object_id('tempdb..#tb')is not null drop table #tbselect AutoID=identity(int,1,1), UserNo, UserName, Sex
    into #tb 
    from users a,UserInfo b
    where a.UserNo=b.UserNo
      

  2.   

    --sql 2000
    select AutoID = (selec count(1) from UserInfo where UserNo < n.UserNo) + 1 , m.* from Users m , UserInfo n where m.UserNo = n.UserNo and sex = '女' --sql 2005
    select AutoID = row_number() over(order by n.UserNo) , m.* from Users m , UserInfo n where m.UserNo = n.UserNo and sex = '女' 
      

  3.   

    select row_number() over(order by userno) as autoid,a.userno,a.username,a.sex 
    from Users a, UserInfo b where a.userno=b.userno
      

  4.   

    create proc pp
    asif object_id('tempdb..#tb')is not null drop table #tbselect AutoID=identity(int,1,1), UserNo, UserName, Sex
    into #tb 
    from users a,UserInfo b
    where a.UserNo=b.UserNo比较易懂!
      

  5.   

    create proc NewTable
    @TableName varchar(40)
    as
    declare @s varchar(100)
    set @s='
    select identity(int,1,1) as AutoID,*into '+@tableName+'from User a UserInfo b where a.UserNo=b.UserNo'
    exec (@s)