SQL Server 2012 scope_identity advise



>我在SQL Server 2012中创建了一个存储过程,我使用scope_identity来获取标识列的值,但就我而言,我不知道这是否正确,请帮助

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会得到english_table的最后一个标识值,变量@identityKurdish会得到最后一个恒等值kurdish_table

谢谢。。

如果插入成功,则scope_identity()正常工作。

您可以在 DML 操作上使用"输出"子句。

点击这里

相关内容

  • 没有找到相关文章

最新更新