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
  • 相关阅读:
    POJ3171 线段树优化dp
    Codeforces Round #590 (Div. 3)
    POJ2777 线段树区间染色问题
    POJ2182 Lost Cows 树状数组,二分
    P1908 逆序对 树状数组
    2019 Multi-University Training Contest 3
    主席树板子题区间第k小
    权值线段树板子题
    KMP板子题
    稀疏贝叶斯
  • 原文地址:https://www.cnblogs.com/anmoon/p/2302325.html
Copyright © 2011-2022 走看看