3

SQL Server 2012でストアドプロシージャを作成し、scope_identityID列の値を取得するために使用しましたが、私の場合、これが正しいかどうかわかりません。

CREATE PROCEDURE Add_Translation
    @english nvarchar(70),
    @kurdish nvarchar(70),
    @english_category int,
    @kurdish_category int,
    @result int out
AS
BEGIN
    SET NOCOUNT ON;

    if @english is not null and @kurdish is not null and @english_category is not null and @kurdish_category is not null
    begin
        insert into english_table values(@english, @english_category);

        declare @identityEnglish int;
        set @identityEnglish = SCOPE_IDENTITY();

        insert into kurdish_table values(@kurdish, @kurdish_category);
        declare @identityKurdish int;
        set @identityKurdish = SCOPE_IDENTITY();

        insert into transactions values(@identityEnglish, @identityKurdish);
        set @result = 1;
    end
    else
    begin
        set @result = 0;
    end
END

私の質問は、変数@identityEnglishがの最後のID値を取得し、english_table変数がの最後のID値を@identityKurdish取得することですkurdish_table

ありがとうございました..

4

2 に答える 2

2

挿入が成功すると、scope_identity()正しく機能します。

于 2012-08-30T00:15:07.600 に答える
0

DML操作で「出力」句を使用できます。

ここをクリック

于 2012-08-30T11:18:12.607 に答える