Tôi nhận được lỗi "Yêu cầu GIAO DỊCH ROLLBACK không có tương tác BEGIN GIAO DỊCH tương ứng". Tôi đang cố gắng khôi phục giao dịch nếu số hàng cho bất kỳ tuyên bố xóa nào bằng không. Đưa ra dưới đây là mã của tôi. Tôi đang làm gì sai? Vui lòng giúpYêu cầu giao dịch ROLLBACK không có lỗi GIAO DỊCH BEGIN tương ứng trong máy chủ sql
alter procedure delete_staff(@staffID varchar(10))
as
declare @tempvar varchar(50), @staffName varchar(50), @jobTitle varchar(50), @dept varchar(50)
begin transaction trans1
declare @rc1 int
declare @rc2 int
declare @rc3 int
select @tempvar = left(@staffID,1) from Staff
delete from staff where staffID = @staffID
set @[email protected]@rowcount
delete from Login where userID = @staffID
set @[email protected]@rowcount
begin
if(@tempvar='S')
begin
delete from Specialist where specialistID = @staffID
set @[email protected]@rowcount
end
else if(@tempvar='H')
begin
delete from Helpdesk_Operator where helpdesk_OperatorID = @staffID
set @[email protected]@rowcount
end
commit transaction trans1
end
if(@rc1=0 or @rc2=0 or @rc3=0)
begin
rollback transaction trans1
end
Tại sao downvote? Nếu bạn không giải thích những gì bạn nghĩ là sai, nó không thể cải thiện câu trả lời. – Guffa