46

シーケンスから現在の値を取得したい-シーケンスのプロパティウィンドウに表示されているのと同じ値SQLServerManagement Studio

ここに画像の説明を入力してください

私のシーケンスは次のステートメントで作成されます:

CREATE SEQUENCE [OrderNumberSequence]
    as int
    START WITH 4000
    INCREMENT BY 1
    MINVALUE 0
    NO MAXVALUE
    NO CACHE;
GO

私はMSDNからこのSQLを試しましたが、その結果、クエリを実行するたびに私の数は5ずつ増えていきます。

DECLARE  
  @FirstSeqNum sql_variant
, @LastSeqNum sql_variant
, @CycleCount int
, @SeqIncr sql_variant
, @SeqMinVal sql_variant
, @SeqMaxVal sql_variant ;

EXEC sys.sp_sequence_get_range
@sequence_name = N'[OrderNumberSequence]'
, @range_size = 5
, @range_first_value = @FirstSeqNum OUTPUT 
, @range_last_value = @LastSeqNum OUTPUT 
, @range_cycle_count = @CycleCount OUTPUT
, @sequence_increment = @SeqIncr OUTPUT
, @sequence_min_value = @SeqMinVal OUTPUT
, @sequence_max_value = @SeqMaxVal OUTPUT ;

-- The following statement returns the output values
SELECT
  @FirstSeqNum AS FirstVal
, @LastSeqNum AS LastVal
, @CycleCount AS CycleCount
, @SeqIncr AS SeqIncrement
, @SeqMinVal AS MinSeq
, @SeqMaxVal AS MaxSeq ;

数値を変更せずに値を取得する方法はありますか?

4

1 に答える 1

83

current_value次から選択できます sys.sequences

SELECT current_value FROM sys.sequences WHERE name = 'OrderNumberSequence' ;

デモ

于 2012-12-04T12:12:18.900 に答える