忍者ブログ

ゆるいSEの小ネタ集

ゆるキャラ好きのITエンジニアが書くTips。 ゆるキャラ命なSEのIT徒然草 https://itmagic.hatenablog.com/

[SQLServer]シーケンス

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

[SQLServer]シーケンス

【シーケンス作成】
■スクリプトで作成
CREATE SEQUENCE [dbo].[SequenceSample] シーケンス名
 AS [bigint]データ型
 START WITH 1開始値
 INCREMENT BY 1増分
 MINVALUE 1最小値
 MAXVALUE 9223372036854775807最大値
 CYCLE 循環
 CACHE 
GO

■GUIで作成
①SSMSの データベース>データベース名>プログラミング>シーケンス名 で右クリック⇒新しいシーケンス
②前述のスクリプトと同様の形式で作成


【実行(値取得)】
ストアドで、実行結果を変数に格納
DECLARE @intSeqNo INT; SET @intSeqNo = NEXT VALUE FOR dbo.SequenceSample
select分で取得した一覧の各行にシーケンス番号を付与
SELECT NEXT VALUE FOR dbo.SequenceSample, * FROM sys.objects
[参考]
http://technet.microsoft.com/ja-jp/magazine/hh407114.aspx


【シーケンスを1に戻す】
ALTER SEQUENCE [dbo].[SequenceSample] RESTART WITH 1;


※シーケンスはMERGE句、関数などでは使えない!
メッセージ 11719、レベル 15、状態 1、プロシージャ Function1、行 27
NEXT VALUE FOR 関数は、CHECK 制約、既定のオブジェクト、計算列、ビュー、ユーザー定義関数、ユーザー定義集計、ユーザー定義テーブル タイプ、サブクエリ、共通テーブル式、および派生テーブルでは使用できません。
PR

コメント

ただいまコメントを受けつけておりません。

プロフィール

HN:
ゆるキャラ命
性別:
非公開

P R