dポイントプレゼントキャンペーン実施中!

いつもお世話になります。

SQLServerで自動採番される仕組みで何かいい方法がないかどうか悩んでいます。

主キーとなる項目に自動採番された値を、アプリケーションでセットした上で、DBに追加する仕組みを考えています。
OracleではSequenceのnextvalなどを使用すれば、番号を自動採番したものを取得することが可能ですが、
SQLServerでこのような仕組みを実現するために何か良い方法はありませんでしょうか?
(追加先のDBはSQLServerではなく、自動採番等の機能も無いため、追加する前にアプリケーションでセットする必要がある。)

今までOracleしか使用したことが無く、SQLServerは初めてなので、ご教授頂きたく投稿しました。
よろしくお願いします。

SQLServerは2005を使用しています。

A 回答 (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()の方が取りやすいかもしれません
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!