SQL2008中的Sequence

?

?

CREATE
TABLE
dbo.GlobalSequence

(

id
INT
IDENTITY(1, 1)

)

GO

?

?

CREATE
PROC
seq
(
@id INT
OUTPUT
)

AS

BEGIN

BEGIN
TRAN

DECLARE
@NewSequenceValue
TABLE (
ID INT
);

?

INSERT
INTO
dbo.GlobalSequence

OUTPUT
inserted.id

INTO
@NewSequenceValue

DEFAULT
VALUES

?

ROLLBACK
TRAN

SELECT
@id
=
id

FROM
@NewSequenceValue

?

?

END

?

-- test

DECLARE
@id
INT

EXEC
seq
@id OUTPUT

SELECT
@id

时间: 2024-08-08 05:37:08

SQL2008中的Sequence的相关文章

ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍

如果我是C罗 原文 ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍 sequence在ORACLE中应用十分广泛,就是序列号的意思,会自动增加指定变数,如逐次增加1或者2或者其他. 1.创建序列 Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE 权限 CREATE SEQUENCE CUX_DEMO_SEQUENCEMINVALUE 1MAXVALUE 99999999999START WITH 1000

Sql2008中使用DataTable作为存储过程的参数

使用DataTable作为存储过程的参数   最近工作中写了几个存储过 程,需要向存储过程中传递字符串,因为SQL Server 2000中没有内置类似于 split 的函数,只好自己处理,将前台数据集中的一列用逗号拆分存到一个List中,再转化为字符串传给存储过程,很是麻烦.今天看了下SQL Server 2008的新特性,发现有表变量的使用,及其将DataTable作为参数的用法,就尝试了一下,简单谈谈心得. 一.测试环境 1.Windows Server 2008 R2 DataCente

如何在Sql2008中获取表字段属性和注释?

如何在Sql2008中获取表字段属性和注释? select b.[value] from sys.columns a left join sys.extended_properties b on a.object_id=b.major_id and a.column_id=b.minor_id inner join sysobjects c on a.column_id=c.id and a.[name]='列名' and c.[name]='表名' SELECT 表名=case when a.

将从SQL2008 r2里备份的数据库还原到SQL2008中

从标题可以看出这是未解决上一篇遗留问题写的,现在我也不知道这个可不可以成功,方法似乎查到了一种,具体怎样还不清楚:而且,我想说的是“我踩雷了”. 这篇的主角是“Database Publishing Wizard”家族:实话我完全不知道有这个. 地点是“ C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Publishing\1.2\SqlPubWiz.exe”.从路径可以看到1.2这个数据,上面提到这是一个家族,根据这个1.2可知道这不是

SQL2008中Merge的用法

在SQL2008中,新增了一个关键字:Merge,这个和Oracle的Merge的用法差不多,只是新增了一个delete方法而已.下面就是具体的使用说明: 首先是对merge的使用说明: merge [into] [目标表]using <源表>on 条件when matched 操作 when not matched 操作; 首先,请参看两张表 TableThis和TableThat: 可以看到,这两张表中的内容还是比较简单的,两张表通过一个tbThisID进行主键和外键的关联,那么如如果想实

SQL2008中Merge的用法(轉載)

在SQL2008中,新增了一个关键字:Merge,这个和Oracle的Merge的用法差不多,只是新增了一个delete方法而已.下面就是具体的使用说明: 首先是对merge的使用说明: merge [into] [目标表]using <源表>on 条件when matched 操作 when not matched 操作; 首先,请参看两张表 TableThis和TableThat: 可以看到,这两张表中的内容还是比较简单的,两张表通过一个tbThisID进行主键和外键的关联,那么如如果想实

【转】MySQL中增加sequence管理功能(模拟创建sequence)

1.oracel可以直接支持sequence,但是mysql不支持sequence,因此我们要通过模拟sequence的方法在mysql中创建sequence.模拟sequence的方法:项目场景:项目应用中,曾有以下一个场景: 接口中要求发送一个int类型的流水号,由于多线程模式,如果用时间戳,可能会有重复的情况(当然概率很小). 所以想到了利用一个独立的自增的sequence来解决该问题. 当前数据库为:mysql 由于mysql和oracle不太一样,不支持直接的sequence,所以需要

SQL2008中Merge的用法(转)

在SQL2008中,新增了一个关键字:Merge,这个和Oracle的Merge的用法差不多,只是新增了一个delete方法而已.下面就是具体的使用说明: 首先是对merge的使用说明: merge [into] [目标表]using <源表>on 条件when matched 操作 when not matched 操作; 可以看到,这两张表中的内容还是比较简单的,两张表通过一个tbThisID进行主键和外键的关联,那么如如果想实现二者之间的数据同步,该如何进行呢,请看具体的Merge代码:

cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug

cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug http://blog.csdn.net/allenice1/article/details/7747425 分类: javascript cocos2d-html52012-07-14 20:08 3005人阅读 评论(0) 收藏 举报 actionfunctionnullobject 今天学习了action,可是练习cc.Sequence.create的时候.发现了问题. cc.Sequ