`
xiegangthrille
  • 浏览: 93693 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

MSSQL让某一字段自增的存储过程

Go 
阅读更多
--字段自增存储过程
create PROCEDURE getRecord
  @tblName varchar(255),--表名
  @tbpafldName varchar(255),--主键字段名
  @fldName varchar(255),--自增字段名
  @id int  --主键ID值
   
as 
  declare @updateSQL nvarchar(4000)
  declare @selectSQL nvarchar(4000)
  declare @value int 
 
begin 
     set @selectSQL=N' select @value = '+@fldName+'  from '+@tblName+' where '+@tbpafldName+' = '+convert(varchar,@id)
     exec sp_executesql @selectSQL,  
              	     N'@value int output',  
                     @value output  
  		     select @value   
    set @updateSQL='update '+@tblName+' set '+@fldName+' = '+convert(varchar,@value+1)+' where '+@tbpafldName+' = '+convert(varchar,@id)
end 

exec (@updateSQL)
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

 

分享到:
评论

相关推荐

    mysql自增字段重排 mysql删除表后自增字段从1开始.pdf

    在MySQL数据库中,自增字段(AUTO_INCREMENT)是一种常见的特性,用于在插入新记录时自动为该字段生成唯一的序列编号。这个字段通常用于主键,确保每个记录的唯一性。以下是对MySQL自增字段相关知识点的详细说明: ...

    mysql自增字段重排 mysql删除表后自增字段从1开始.docx

    另一种重置自增字段的方法是清空表,取消自增属性,然后再重新添加自增属性,这也会让自增字段从1开始。 MySQL的`LAST_INSERT_ID()`函数可以获取自增字段生成的最后一个编号,这对于跟踪插入操作非常有用。但是,这...

    mysql 自增长 时间字段

    MySQL 是一种广泛应用的关系型数据库管理系统,具有强大的数据存储和管理能力。在实际应用中,我们经常需要对数据进行自增长和时间戳记录,本文将详细介绍 MySQL 中的自增长和时间字段的使用。 自增长字段 在 ...

    mysql 流水号 存储过程 附表结构

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者编写包含一系列SQL语句的程序,以便在需要时执行。在“mysql 流水号 存储过程 附表结构”这个主题中,我们主要探讨如何在MySQL中创建一个存储过程来...

    Navicat客户端sqlserver表结构转到mysql数据库中操作文档

    你可能还需要调整一些MySQL特定的特性,如索引、存储引擎或字符集。 6. **备份与恢复策略**: 在进行此类操作时,确保在源和目标数据库上都有适当的备份,以防不测。如果出现问题,可以快速恢复到迁移前的状态。 ...

    Mysql join联表及id自增实例解析

    在MySQL中,创建表时可以为字段设置自增(AUTO_INCREMENT)属性,每次插入新行时,该字段的值会自动递增。然而,自增ID是有上限的,对于INT类型,上限是2^32-1。当达到这个上限,尝试插入新行时,MySQL会返回主键...

    Oracle里的自增字段设置

    在Oracle数据库中,自增字段的设置确实与MySQL等其他数据库系统有所不同。Oracle在较新的12c版本中引入了一种新的语法,使得创建自增序列变得更加方便。这个特性被称为`IDENTITY`列,它允许我们在创建表时直接定义一...

    利用mysql事务特性实现并发安全的自增ID示例

    创建一个只含有自增ID字段的表,如`test`,使用MyISAM引擎(因为它对`LAST_INSERT_ID()`支持更好)。通过`UPDATE`语句将ID设置为其自身的值加1,然后使用`SELECT LAST_INSERT_ID();`获取新生成的ID。`LAST_INSERT_...

    Oracle9i中建立自增字段的最新办法

    在Oracle数据库系统中,与许多其他关系型数据库如MySQL或SQL Server不同,Oracle并没有内置的自增字段(Identity Column)特性。但是,Oracle9i及后续版本提供了Sequence和Trigger机制,使得开发者可以通过这两种...

    在MySQL中创建实现自增的序列(Sequence)的教程

    在MySQL中,自增序列(Sequence)是一种常用于生成唯一标识符的数据结构,尤其是在Oracle数据库中广泛使用。然而,MySQL自身并不直接支持Sequence,但可以通过创建表和存储过程来模拟这个功能。本教程将详细解释如何...

    Oracle主键自增的办法

    在 Oracle 数据库中,与许多其他关系型数据库系统不同,它并没有内置的自动自增字段类型,例如 MySQL 的 `AUTO_INCREMENT` 或 SQL Server 的 `IDENTITY`。但是,Oracle 提供了序列(Sequences)和触发器(Triggers)...

    MySql字段类型

    MySQL字段类型是数据库设计的基础,它决定了数据存储的格式和方式。MySQL支持多种数据类型,主要分为数值型、字符型、日期和时间型以及NULL值。 1. 数值型: - 整数类型:包括TINYINT、SMALLINT、MEDIUMINT、INT和...

    mysql的插入问题 怎么获得自动增长的ID

    - **MyISAM**:由于MyISAM使用独立的文件存储自动增长的ID值,即使在删除了一些记录并重启MySQL服务后,新的记录ID也会继续从上一个最大ID值加1开始计算,即第18条记录的ID将是18。 - **InnoDB**:重启MySQL服务后,...

    java通过Mysql实现类似oracle序列功能序列.rar

    在MySQL中,定义一个存储过程如`GET_NEXT_SEQUENCE`,它会查询`sequence`表的最新`id`并增加1。 5. **Java调用存储过程**: - 使用`CallableStatement`对象,你可以调用MySQL的存储过程。设置参数和获取结果集,...

    mysql 实现定时给表追加分区

    实现mysql 每天定时自动给数据库表追加分区,包含存储计划和存储过程

    MySQL自增ID耗尽实例讲解

    MySQL中的自增ID是表中自动递增的主键字段,通常用于唯一标识表中的每一条记录。在MySQL中,自增ID默认的数据类型是INT,其最大值为`2^32-1`,即4,294,967,295。当超过这个上限时,尝试插入新的记录会导致自增ID不再...

    java快速ID自增器

    自增ID通常用于数据库中的主键字段,确保每条记录都有一个唯一的标识符。在传统的SQL数据库如MySQL中,可以设置特定字段为自动增长(AUTO_INCREMENT),每次插入新记录时,该字段的值会自动递增。然而,这种机制在...

    关于mysql自增id,你需要知道的

    在MySQL数据库中,自增ID(AUTO_INCREMENT)是一种常见的特性,用于在插入新记录时自动为指定列生成唯一的标识符。通常,这个列被用作表的主键,以确保数据的唯一性和完整性。以下是对MySQL自增ID的详细解释。 1. ...

    mysql建表字段,相关内容 MySQL学习练习

    10. **存储过程**:存储过程(STORED PROCEDURE)是一组预编译的SQL语句,可以接受参数,返回结果,并执行复杂的业务逻辑。它们提高了代码复用性,提高了安全性,并降低了网络流量。 11. **事务处理**:MySQL支持...

    全局自增ID设计方案

    2. **基于数据库和存储过程**:在数据库中创建一个专门的表用于存储sequence信息,并通过存储过程来实现序列值的自动递增和获取。这种方式需要配置每个sequence所在的具体物理节点。 **Sequence获取步骤**: - ...

Global site tag (gtag.js) - Google Analytics