zoukankan      html  css  js  c++  java
  • sql server数据库最大Id冲突问题解决方法之一


    在一个特定的表中保存最大Id,通过记录来取每次的唯一最大值。


    CREATE TABLE [dbo].[TbGuidTable](
    [TableName] [varchar](50) NOT NULL,
    [KeyName] [varchar](20) NOT NULL,
    [KeyValue] [varchar](100) NOT NULL
    ) ON [PRIMARY]

    GO


    if exists (select * from dbo.sysobjects where id = object_id(N'PCreateGuid') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
    drop procedure PCreateGuid
    GO
    ------------------------------------
    --
    用途:增加一条记录 个人信息
    --
    项目名称:
    --
    说明:
    --
    时间:2011-7-4 15:34:12,2011-08-15
    --
    ----------------------------------
    CREATE PROCEDURE PCreateGuid
    @tableName varchar(50),
    @keyname varchar(100),
    @guid varchar(100) out
    as
    if 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=@keyname
    select @guid=cast(keyvalue as varchar) from TbGuidTable where tablename=@tableName and keyname=@keyname
    Go


    ---*****---
    declare @tableName varchar(50)
    declare @keyname varchar(100)
    declare @guid varchar(100)
    set @tableName='tb1'
    set @keyname='def'
    execute PCreateGuid @tableName,@keyname,@guid out
    print @guid



    赋予程序生命,还我自由河山!~ --CosMosGhost
  • 相关阅读:
    怎么看到数据库以前做过的日志?
    感觉很好的网站
    uview 滑动切换
    Flyweight享元(结构型模式)
    悟空,真的是空?
    Interpreter解释器(行为型模式)
    Proxy代理(结构型模式)
    [转]有一种爱叫索取
    Command命令(行为型模式)
    Composite组合(结构型模式)
  • 原文地址:https://www.cnblogs.com/anmoon/p/2302325.html
Copyright © 2011-2022 走看看