2016-12-09 4 views
1

MS SQL Serverのシーケンスのコレクションがあり、シーケンスの名前、現在の値、および次の値をビューの列として戻して、毎回シーケンスを増やしたいとしますそれは結果に含まれています、どのようにビューを定義するのですか?SQL Serverはビューの列として次の値を返します

select * from SEQUENCE_VIEW 

NAME  CURRVALL NEXTVAL 
SEQUENCE1 0  1 
SEQUENCE2 1  2 

私はsys.sequencesから名前と電流値を取得することができましたが、ビュー定義でNAME FOR NEXT VALUEのようなものを含めることができませんでした。

EDIT 誰かがこのようなことを行う理由が不思議な人にとって、このメカニズムは、内部ORMapperによって使用され、基本データベースエンジンに存在するID列や類似のメカニズムに依存せずにエントリのIDを生成します。

+0

あなたの目標は実際に値を増やすか、それが何であるかを示すことです。 – SQLChao

+1

'が含まれていませんでした。あなたが実際に必要としていること、そしてあなたがこれにアプローチしようとしていることを再考してください。 –

+0

値を増やしたい – Dominik

答えて

0
Create view SEQUENCE_VIEW as 
    SELECT NAME 
     , current_value as CURRVALL 
     , current_value + increment as NEXTVAL 
    FROM sys.sequences 
+0

しかし、これはシーケンスを増やさないので、複数の選択に同じ値を与えます。 – Dominik

関連する問題