请问如何生成一个唯一的编号? change your logic, use an identity column, after the user information is inserted into the database, retrieve the value, and return it to the user 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、建立一个“序数表”create table 序数表(表名 varchar(1000),序号 bigint)2、建立一个过程:CREATE proc 得到序号@表 varchar(1000),@结果 bigint outputas---如果是第一次,添入初始值insert 序数表 select @表名,1 where not exists(select 1 from 序数表 where 表名=@表名)begin tran select @结果=序号 from 序数表 where 表名=@表名 if @@error<>0 goto error--得到后马上加一保持序号的完全唯一 update 序数表 set 序号=序号+1 where 表名=@表名 if @@error<>0 goto errorcommit tranreturnerror: rollback tranGO3、在前台调用:declare @a bigintexec 得到序号 '我的表',@a outputselect @a 表中同类记录只需要最新的记录怎么写? 求一个删除主表,能删除从表的触发器 请教一个 简单的 SQL 问题。 一个SQL小小CASE问题,向大家请教. 紧急求助!大家帮帮忙!sqlserver数据库的一个表的字段 删除了若干 数据能恢复吗? 求一sql语句 这个关于时间的存储过程? 如何在表的指定位置添加字段? 求助:合并完全不同的两个表的查询结果,再把合并后的结果进行分页。有代码 insert 触发器 sql server中有没有像mysql中那样limit 10,20这样的语法? 这个问题怎么一直不能解决呢?
create table 序数表(表名 varchar(1000),序号 bigint)2、建立一个过程:
CREATE proc 得到序号
@表 varchar(1000),
@结果 bigint output
as
---如果是第一次,添入初始值
insert 序数表 select @表名,1 where not exists(select 1 from 序数表 where 表名=@表名)
begin tran
select @结果=序号 from 序数表 where 表名=@表名
if @@error<>0 goto error
--得到后马上加一保持序号的完全唯一
update 序数表 set 序号=序号+1 where 表名=@表名
if @@error<>0 goto error
commit tran
return
error:
rollback tran
GO3、在前台调用:
declare @a bigint
exec 得到序号 '我的表',@a output
select @a