我在 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/