我有三个关联表,结构大致如下:
a表
  ID(自增型),Name,Sex, .....
b表
  ID(自增型),RegistryID, .....
c表
  ID(自增型), UserID, .....关联方式如下:
a.ID=b.RegistryID
b.ID=C.UserID
a表与b表是一对多的对应,b表与c表也是一对多的对应。   我在数据入库时用的是三个table,总是写完a表后,last a表取出最大的a.ID,然后写给b表的RegistryID,再last b表取出最大的b.ID,最后写给C表的UserID,这样用户数一多和数据量一大,数据就锁库。
   后来我写个存储过程用max函数取出a、b两表的ID,还是锁库,请问该怎样解决此问题?用触发器行不行?

解决方案 »

  1.   

    to esu(ESU):您好,表结构已给出,存储过程就是一条简单的sql语句
    select MaxID=max(id) from a 返回给程序中的变量,请大侠多指点.
      

  2.   

    to shuaigc(new man):当然其他情况有时也缩,但机会不多,请您出招指点指点.
      

  3.   

    to yaos():数据库是sql server 7.0,我还每天晚上自动更新表的索引,还是锁库,我也试图通过调整sql性能来解决,可是还是不行