热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MSSqlServer伪序列_MySQL

MSSqlServer伪序列
MSSqlServer伪序列_MySQL

先创建一个序列表
if exists (select 1
from sysindexeswhere 
id = object_id('TSysSequence')and 
name = &#39;In_SeName&#39;and indid > 0and indid <255)drop 
index TSysSequence.In_SeNamegoif exists 
(select 1from sysobjectswhere id = object_id(&#39;TSysSequence&#39;)and type = &#39;U&#39;)drop table TSysSequencego
/*======================================*//* Table: TSysSequence *//*=======================================*/
create table TSysSequence (SeName nvarchar(50) not null,
Increment int not null default 1,CurVal bigint not null default 0)goif exists 
(select 1 from sys.extended_propertieswhere major_id = object_id(&#39;TSysSequence&#39;) 
and minor_id = 0)begindeclare @CurrentUser sysnameselect @CurrentUser = user_name()execute 
sp_dropextendedproperty &#39;MS_Description&#39;,&#39;user&#39;, @CurrentUser, &#39;table&#39;, &#39;TSysSequence&#39;endselect 
@CurrentUser = user_name()execute sp_addextendedproperty &#39;MS_Description&#39;,&#39;

模拟oracle序列

不允许用户维护,数据库初始化以后不允许任何人修改其中的值。

默认生成名称为“DID”和“SID”的两个序列,意义为“数据序列号”和“系统序列号”。&#39;,

&#39;user&#39;, @CurrentUser, &#39;table&#39;, &#39;TSysSequence&#39;goinsert into TSysSequence (SeName,Increment,CurVal) 
values (&#39;DID&#39;,1,0) ;insert into TSysSequence (SeName,Increment,CurVal) values (&#39;SID&#39;,1,0) ;
/*=======================================*//* Index: In_SeName *//*=======================================*/
create unique index In_SeName on TSysSequence (SeName ASC)
go

再创建一个存储过程完成序列的使用

if exists (select 1from sysobjectswhere id = object_id(&#39;PGetSequenceValue&#39;)and type in (&#39;P&#39;,&#39;PC&#39;))drop 
procedure PGetSequenceValuegocreate 
procedure PGetSequenceValue@SeName nvarchar(50),@SeVal bigint 
outasbeginif not 
exists(select 1 from TSysSequence where SeName = @SeName)
beginraiserror(&#39;不存在序列%s&#39;,16,1,@SeName)returnend
update TSysSequence set @SeVal = CurVal + Increment, 
CurVal = CurVal + Increment where SeName = @SeNameendgo

使用方法

declare @ID1 intEXEC PGetSequenceValue &#39;SID&#39;,@ID1 OUTPUT
select @ID1
declare @ID2 intEXEC PGetSequenceValue &#39;DID&#39;,@ID2 OUTPUT
select @ID2

以上就是MSSqlServer伪序列_MySQL的内容,更多相关内容请关注PHP中文网(www.php1.cn)!

推荐阅读
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • 解决ADODB连接Access时出现80004005错误的方法
    本文详细介绍了如何解决在使用ADODB连接Access数据库时遇到的80004005错误,包括错误原因分析和具体的解决步骤。 ... [详细]
  • Windows环境下Oracle数据库迁移实践
    本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ... [详细]
  • Java连接MySQL数据库的方法及测试示例
    本文详细介绍了如何安装MySQL数据库,并通过Java编程语言实现与MySQL数据库的连接,包括环境搭建、数据库创建以及简单的查询操作。 ... [详细]
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 本文详细介绍了如何使用SQL*Plus连接Oracle数据库以及使用MySQL客户端连接MySQL数据库的方法,包括基本命令和具体操作步骤。 ... [详细]
  • 本文详细探讨了如何根据不同的应用场景选择合适的PHP版本,包括多版本切换技巧、稳定性分析及针对WordPress等特定平台的版本建议。 ... [详细]
  • egg实现登录鉴权(七):权限管理
    权限管理包含三部分:访问页面的权限,操作功能的权限和获取数据权限。页面权限:登录用户所属角色的可访问页面的权限功能权限:登录用户所属角色的可访问页面的操作权限数据权限:登录用户所属 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • 本文提供了处理WordPress网站中出现过多重定向问题的方法,包括检查DNS配置、安装SSL证书以及解决数据库连接错误等步骤。 ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
author-avatar
性感让晚安回忆流淌_507
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有