详细一些,你要把得到的a表的id放在地方呢?

解决方案 »

  1.   

    to churchatp1(阿牛) 
    我是要把得到的b 表的ID放到a 表中的bid
      

  2.   

    你在生成b表id的时候同时更新a表的bid就可以了
      

  3.   

    插入a表数据以后
    查询a表的最大id,然后作为b表待插入数据的bid插入b表
      

  4.   

    如果只插入一条记录,可以用@@identity
    如果同时插入多条记录,需要用触发器
      

  5.   

    或者插入a表数据以后
    通过scope_identity(),@@identity,ident_current('table_name')查询最近刚刚插入的a表的id。
    scope_identity()试用于当前的会话,@@identity没有限制,ident_current('table_name')则是对于指定表的。
      

  6.   

    churchatp1(阿牛) " 或者插入a表数据以后
    通过scope_identity(),@@identity,ident_current('table_name')查询最近刚刚插入的a表的id。
    scope_identity()试用于当前的会话,@@identity没有限制,ident_current('table_name')则是对于指定表的。"这个能给个例子么?
      

  7.   

    上面说的是你先插入a表的数据的情况
    当然如果你是先插入b表的数据,然后插入a表数据
    则可以通过下面的来得到a表插入时将会用到的id:ident_current('a表名')+ident_incr('a表名')
      

  8.   

    --一条记录
    insert b(name) select 'AAA'
    insert a(name,bid) select 'AAA',@@identity--多条记录
    create trigger tr
    on b
    for insert
    as
    insert a(name,bid)
    select I.name,b.id 
    from inserted I
    join b on I.name=b.name
      

  9.   

    select id,name,bid=b.id from a inner join b on a.id=b.id
      

  10.   

    例子:
    如果你是先插入a表的就这样:insert into a select 'name',ident_current('b')+ident_incr('b')
    然后再插入b表:insert into b select 'name'
    这样得到的a表的bid与b表的id一样如果你是先插入b表:insert into b select 'name'
    然后a表:insert into a select 'name',@@identity
      

  11.   

    churchatp1(阿牛) 
     “例子:
    如果你是先插入a表的就这样:insert into a select 'name',ident_current('b')+ident_incr('b')
    然后再插入b表:insert into b select 'name'
    这样得到的a表的bid与b表的id一样如果你是先插入b表:insert into b select 'name'
    然后a表:insert into a select 'name',@@identity ”你的这语句好奇怪哦。我都是用的下面的这种。
    insert into a() values ();
    像你的,我不知道该放哪好了。