我有一個存儲過程有兩個插入語句,我想在第二個插入語句的ID中插入第一個插入語句的ID。從以前的插入語句獲取最後一個插入的ID
CREATE PROC [dbo].[Log_Action]
@action_description VARCHAR(MAX),
@creator_id INT,
@entity VARCHAR(50),
@entity_identifier UNIQUEIDENTIFIER
AS
BEGIN
DECLARE @return_value BIT;
BEGIN TRY
INSERT INTO Action_Lookup (action_description)
VALUES (@action_description);
INSERT INTO Audit ([user_id], action_id, CREATED, [guid], entity, entity_identifier)
VALUES (@creator_id, SCOPE_IDENTITY(), GETDATE(), NEWID(), @entity, @entity_identifier);
SET @return_value = 1;
RETURN @return_value;
END TRY
BEGIN CATCH
SET @return_value = 0;
RETURN @return_value;
END CATCH
END
是SCOPE_IDENTITY()
返回空的問題,我也試過@@IDENTITY
和IDENT_CURRENT
但非作品。
你確定表Action_Lookup您的ID列被聲明爲身份? – Ricardo
@Ricardo是的,它是身份。 –
您是否嘗試在插入到Action_Lookup後將身份值放入變量中,然後使用此變量的值?或者''Action_Lookup'表上有觸發器嗎? –