仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 676|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL网页设计在MSSQL中完成Sequence功效

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:38:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。
目标:经由过程该功效代替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


以上是实际,稍后,我会给出详细做法。在需要把许多新记录插入某个数据表的场合,DELAY_KEY_WRITE选项的作用将非常明显。另外,索引还会在硬盘上占用相当大的空间。因此应该只为最经常查询和最经常排序的数据列建立索引。注意,如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。
老尸 该用户已被删除
沙发
发表于 2015-1-19 20:06:30 | 只看该作者
这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-1-26 20:11:07 | 只看该作者
代替了原来VB式的错误判断。比Oracle高级不少。
再现理想 该用户已被删除
地板
发表于 2015-2-4 20:24:47 | 只看该作者
我们学到了什么?思考问题的时候从表的角度来思考问
爱飞 该用户已被删除
5#
发表于 2015-3-1 01:31:21 | 只看该作者
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
分手快乐 该用户已被删除
6#
 楼主| 发表于 2015-3-10 11:26:49 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
乐观 该用户已被删除
7#
发表于 2015-3-17 06:34:12 | 只看该作者
财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
不帅 该用户已被删除
8#
发表于 2015-3-24 00:06:55 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-27 14:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表