在中实现Sequence功能
来源:互联网 发布:php判断是否含有数字 编辑:程序博客网 时间:2024/05/20 01:43
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
目的:通过该功能取代MSSQL中的表ID列自动递增功能
主题一:如何通过Sequence名得到一个Sequence值
方法:
1. 创建一个表Sequence,保存Sequence的值
2. 创建一个存储过程GetNextSequence,以通过它得到下一个Sequence
主题二:如何通过一个表名得到一个Sequence值
1. 创建一个表TableSequence,保存表中的列对应的是哪个Sequence
2. 创建一个存储过程CreateTableSeq,把表TableSequence的内容放入全局临时表@@TmpTableSequence,以提高性能
3. 创建一个存储过程GetNextSequenceByTableName,以通过它得到下一个Sequence
主题一:如何通过Sequence名得到一个Sequence值
方法:
1. 创建一个表Sequence,保存Sequence的值
表Sequence:
表名
数据类型
是否为空
索引
说明
SEQNAME
varchar2(50)
N
PK
Sequence名
STARTWITH
number
N
开始值
INCREMENT
number
N
增量
LASTVALUE
number
N
该Sequence最后的值
MINVALUE
number
N
最小值
MAXVALUE
number
N
最大值,0表示无
CYCLE
bit
N
是否可循环
2. 创建一个存储过程GetNextSequence,以通过它得到下一个Sequence
参数:
SeqNameSequence名称
返回:
下一个Sequence的值,如出错,返回0
流程:
1. 该存储过程通过参数SeqName从表Sequence取得LastValue
2. LastValue加上递增或递减值,得到下一个Sequence值(简称@NewSeq)
3. 用@NewSeq更新该条记录
4. 返回@NewSeq
主题二:如何通过一个表名得到一个Sequence值
1. 创建一个表TableSequence,保存表中的列对应的是哪个Sequence
表TableSequence
表名
数据类型
是否为空
索引
说明
TABLENAME
varchar2(50)
N
PK
表名
SEQNAME
varchar2(50)
N
Sequence名
2. 创建一个存储过程CreateTableSeq,把表TableSequence的内容放入全局临时表@@TmpTableSequence,以提高性能
参数:
无
返回:
无
流程:
1. 判断临时表@@TmpTableSequence是否存在
2. 如不存在,创建该临时表(表格式同TableSequence),并从TableSequence取得数据,放入临时表@@TmpTableSequence
3. 创建一个存储过程GetNextSequenceByTableName,以通过它得到下一个Sequence
参数:
@TableName表名
返回:
下一个Sequence的值,如出错,返回0
流程:
1. 该存储过程通过参数@TableName从表@@TmpTableSequence取得Sequence名(简称@SeqName)
2. 通过@SeqName从表Sequence取得LastValue
3. LastValue加上递增或递减值,得到下一个Sequence值(简称@NewSeq)
4. 用@NewSeq更新表Sequnce的对应记录
返回@NewSeq
以上是理论,稍后,我会给出具体做法。
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
目的:通过该功能取代MSSQL中的表ID列自动递增功能
主题一:如何通过Sequence名得到一个Sequence值
方法:
1. 创建一个表Sequence,保存Sequence的值
2. 创建一个存储过程GetNextSequence,以通过它得到下一个Sequence
主题二:如何通过一个表名得到一个Sequence值
1. 创建一个表TableSequence,保存表中的列对应的是哪个Sequence
2. 创建一个存储过程CreateTableSeq,把表TableSequence的内容放入全局临时表@@TmpTableSequence,以提高性能
3. 创建一个存储过程GetNextSequenceByTableName,以通过它得到下一个Sequence
主题一:如何通过Sequence名得到一个Sequence值
方法:
1. 创建一个表Sequence,保存Sequence的值
表Sequence:
表名
数据类型
是否为空
索引
说明
SEQNAME
varchar2(50)
N
PK
Sequence名
STARTWITH
number
N
开始值
INCREMENT
number
N
增量
LASTVALUE
number
N
该Sequence最后的值
MINVALUE
number
N
最小值
MAXVALUE
number
N
最大值,0表示无
CYCLE
bit
N
是否可循环
2. 创建一个存储过程GetNextSequence,以通过它得到下一个Sequence
参数:
SeqNameSequence名称
返回:
下一个Sequence的值,如出错,返回0
流程:
1. 该存储过程通过参数SeqName从表Sequence取得LastValue
2. LastValue加上递增或递减值,得到下一个Sequence值(简称@NewSeq)
3. 用@NewSeq更新该条记录
4. 返回@NewSeq
主题二:如何通过一个表名得到一个Sequence值
1. 创建一个表TableSequence,保存表中的列对应的是哪个Sequence
表TableSequence
表名
数据类型
是否为空
索引
说明
TABLENAME
varchar2(50)
N
PK
表名
SEQNAME
varchar2(50)
N
Sequence名
2. 创建一个存储过程CreateTableSeq,把表TableSequence的内容放入全局临时表@@TmpTableSequence,以提高性能
参数:
无
返回:
无
流程:
1. 判断临时表@@TmpTableSequence是否存在
2. 如不存在,创建该临时表(表格式同TableSequence),并从TableSequence取得数据,放入临时表@@TmpTableSequence
3. 创建一个存储过程GetNextSequenceByTableName,以通过它得到下一个Sequence
参数:
@TableName表名
返回:
下一个Sequence的值,如出错,返回0
流程:
1. 该存储过程通过参数@TableName从表@@TmpTableSequence取得Sequence名(简称@SeqName)
2. 通过@SeqName从表Sequence取得LastValue
3. LastValue加上递增或递减值,得到下一个Sequence值(简称@NewSeq)
4. 用@NewSeq更新表Sequnce的对应记录
返回@NewSeq
以上是理论,稍后,我会给出具体做法。
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 在中实现Sequence功能
- 在MSSQL中实现Sequence功能
- mysql 实现oracle中sequence 功能
- 在 Hibernate 中使用 oracle 的 sequence 产生主键实现 SQL Server 自增长字段功能
- 在SQLServer中实现ORACLE的Sequence
- 在mysql 中模拟oracle中的 sequence功能
- mysql实现oracle sequence功能
- 一种在SQLServer中实现Sequence的高效方法
- 在Delphi7中实现停靠功能
- 在VC中实现FTP功能
- 在Delphi7中实现停靠功能
- 在VC中实现FTP功能
- 在ASP中实现视频会议的功能
- 关于在 AJAX 中实现“后退功能”.
- 在RCP中实现系统托盘功能
- 在uClinux中实现 pppoe拨号上网功能
- 在DBGrid中实现Copy、Paste功能
- 关于在 AJAX 中实现"后退功能"
- 一条SQL语句
- 自建首部曲常用参数功能汇总
- 走出海量数据及访问量压力困境
- 使用时需要经常用到的几个设置选项!
- PHP连接MYSQL数据库,就这么两句!
- 在中实现Sequence功能
- 大型网站的架构设计问题----大型高并发高负载网站的系统架构
- SQLServer2000中视图的一个bug
- stringtemplate模板引擎
- 提高C/S系统性能的一些方法
- 备份与恢复的存储过程
- UltraEdit-32的PL/SQL语法加亮样式
- 在PEA上海做演讲主题:大型、高负载网站架构和应用初探
- 怎样手工删除里的MergeReplication信息