Een andere optie zou zijn als de retourwaarde voor de opgeslagen procedure (ik raad dit echter niet aan, omdat dat meestal het beste is voor foutwaarden).
Ik heb het opgenomen als zowel wanneer het een enkele rij invoegt in gevallen waarin de opgeslagen procedure werd gebruikt door zowel andere SQL-procedures als een front-end die niet kon werken met OUTPUT-parameters (IBATIS in .NET geloof ik):
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
De uitvoerparameter is gemakkelijker om mee te werken in T-SQL bij het aanroepen van andere IMO-procedures, maar sommige programmeertalen hebben slechte of geen ondersteuning voor uitvoerparameters en werken beter met resultatensets.