sqlserver中不能取得序列号,只能简洁的得到
系统时间很好办
select getdate() from sysobjects(随便一个表都行,但是必须有记录)

解决方案 »

  1.   

    如果在SQL SERVER中采用最大值加1的办法如何能避免程序并发执行时的取同样的值的错误?
      

  2.   

    如果有IDENTITY:
    下一条纪录的序列号:
       Max(IDENTITYCOL)+1但不能在客户端调用,会造成数据不一致的问题!
    最好这样:建一编号表 tabel1 (table_name,id)//存放你系统各需求表的id用下列过程可解决并发控制的问题CREATE PROCEDURE nextno
    @name int,@last int output  
    AS
    set nocount on
    begin tran//开始行锁定记录,确保@last取值唯一  update table1 set id=id+1 WHERE table_name =@name
      
      SELECT @last=id FROM table1  WHERE table_name =@name//结束锁定commit tran return