在线等 急 急 急 !!!!!!
分析下面的两段代码,解释当被删除的对象“Matti”在表中存在和不存在时的结果,并以此来说明储存过程和事物在使用上的区别。
(1) CREATE proc with_emp
AS
UPDATE employee
SET job_|v|=job_|v|+20
WHERE fname like ‘Ann’
DELETE FROM employee
WHERE fname like ‘Matti’
RETURN
GO
SELECT * FROM employee
WHERE fname=’Ann’
EXEC with_emp
SELECT * FROM employee
WHERE fname=’Ann’
GO
(2) BEGIN TRANSACTION
SELECT * FROM employee
WHERE fname=’Ann’
UPDATE employee
SET job_|v|=job_|v|-10
WHERE fname like ‘Ann’
DELETE FROM employee
WHERE fname like ‘Matti’
IF @@ROWCOUNT=0 OR @@ERROR!=0
BEGIN
ROLLBACK TRANSACTION
PRINT ‘发生错误,该操作取消’
RETURN
END
COMMIT TRANSACTION
SELECT * FROM employee
WHERE fname=’Ann’