もう1つのオプションは、ストアドプロシージャの戻り値です(ただし、通常はエラー値に最適なので、これはお勧めしません)。
ストアドプロシージャが他のSQLプロシージャと、OUTPUTパラメータ(.NETのIBATIS)で動作できないフロントエンドの両方で消費されている場合に単一の行を挿入する場合の両方として含めました:
CREATE PROCEDURE My_Insert
@col1 VARCHAR(20),
@new_identity INT OUTPUT
AS
BEGIN
SET NOCOUNT ON
INSERT INTO My_Table (col1)
VALUES (@col1)
SELECT @new_identity = SCOPE_IDENTITY()
SELECT @new_identity AS id
RETURN
END
他のストアドプロシージャIMOから呼び出す場合、T-SQLでの出力パラメータの操作は簡単ですが、一部のプログラミング言語では出力パラメータのサポートが不十分またはサポートされておらず、結果セットでより適切に機能します。