- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLServerでOracleシーケンスのような機構を実現するには)
SQLServerでOracleシーケンスのような機構を実現する方法
このQ&Aのポイント
- SQLServerで自動採番される仕組みで何かいい方法がないか悩んでいます。主キーとなる項目に自動採番された値を、アプリケーションでセットした上で、DBに追加する仕組みを考えています。
- OracleではSequenceのnextvalなどを使用すれば、番号を自動採番したものを取得することが可能ですが、SQLServerでこのような仕組みを実現するために何か良い方法はありませんでしょうか?
- 今までOracleしか使用したことが無く、SQLServerは初めてなので、ご教授頂きたく投稿しました。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こういうやり方なら実装したことがあります。 CREATE TABLE t_val([SEQ][int] IDENTITY,[FLG][int]) CREATE PROCEDURE ap_nextval AS BEGIN SET NOCOUNT ON INSERT INTO t_val(FLG) VALUES (1) RETURN SCOPE_IDENTITY() END DECLARE @nextval int EXEC @nextval=ap_nextval アプリケーションだとストアドの最終行はSELECT SCOPE_IDENTITY()の方が取りやすいかもしれません