USE CSDN
go
--测试数据
CREATE TABLE trigger_test(id INT,SPID INT, name CHAR(8000)) --加个name字段,让插入的2条数据,分别放在2个页面上,防止闩锁对测试的影响
go
--创建触发器
CREATE TRIGGER tr_test1 ON dbo.trigger_test
AFTER INSERT, UPDATE
as
BEGIN
UPDATE A
SET a.spid = (SELECT TOP(1) spid FROM #temp) --请明这里访问的#temp表,只是当前登陆用户的
from trigger_test A
INNER JOIN INSERTED B
ON a.id = b.id
END
go
--第一个连接,分两步执行:
BEGIN TRAN
--#1.创建临时表
IF object_id('tempdb..#temp', 'u') IS NOT NULL
DROP TABLE #temp
CREATE TABLE #TEMP (SPID INT)
INSERT #temp(SPID) SELECT @@SPID --第一步执行到这儿时,停止,再去另外一个连接中的所有SQL。然后再回来,执行完下面的SQL