sql-server - SQL Server 2012 scope_identity 建议

标签 sql-server stored-procedures identity-column scope-identity

我在 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 是否会得到 的最后一个标识值>库尔德语表

谢谢你..

最佳答案

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

关于sql-server - SQL Server 2012 scope_identity 建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12187613/

相关文章:

c# - 从数据库 SQLite C# 服务堆栈读取 SQL 数据(百万条记录)的最快方法是什么

sql-server - Entity Framework CTP5 - 如何调用存储过程?

sql - @@IDENTITY 和触发问题

oracle - 插入带有标识列的 Oracle 表时如何使用 %ROWTYPE?

一行中的最小和最大行的 SQL 值

sql - 仅选择与其他行相同的值

sql-server - SSRS——多值参数字符串操作

Mysql存储过程

mysql - 如何从 Tableau 调用 MySQL 存储过程

jquery - 如何获取数据表 "header name"