您的位置:首页 > 数据库

sql server数据库最大Id冲突问题解决方法之一

2011-12-26 17:14 621 查看
在一个特定的表中保存最大Id,通过记录来取每次的唯一最大值。
CREATE TABLE [dbo].[TbGuidTable]([TableName] [varchar](50) NOT NULL,[KeyName] [varchar](20) NOT NULL,[KeyValue] [varchar](100) NOT NULL) ON [PRIMARY]GOif exists (select * from dbo.sysobjects where id = object_id(N'PCreateGuid') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure PCreateGuidGO--------------------------------------用途:增加一条记录  个人信息--项目名称:--说明:--时间:2011-7-4 15:34:12,2011-08-15------------------------------------CREATE PROCEDURE PCreateGuid@tableName varchar(50),@keyname varchar(100),@guid varchar(100) outasif not exists(select * from TbGuidTable where tablename=@tableName and keyname=@keyname)insert into TbGuidTable (tablename,keyname,keyvalue) values(@tableName,@keyname,10000)update TbGuidTable set keyvalue=keyvalue+1 where tablename=@tableName and keyname=@keynameselect  @guid=cast(keyvalue as varchar) from TbGuidTable where tablename=@tableName and keyname=@keynameGo---*****---declare @tableName varchar(50)declare @keyname varchar(100)declare @guid varchar(100)set @tableName='tb1'set @keyname='def'execute PCreateGuid @tableName,@keyname,@guid outprint @guid
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: