2.问题 在A,B上各定义FOR UPDATE触发器实现递归调用 A: CREATE TRIGGER TRFORA ON A FOR UPDATE AS BEGIN UPDATE B SET .... ..... END B: CREATE TRIGGER TRFORB ON B FOR UPDATE AS BEGIN UPDATE C SET .... ..... END
2.问题 这样行不行,在A,B,C上各定义FOR UPDATE触发器 当发生UPDATE操作时,关闭递归调用功能。 A: CREATE TRIGGER TRFORA ON A FOR UPDATE AS BEGIN UPDATE B SET .... UPDATE C SET .... ..... END B: CREATE TRIGGER TRFORB ON B FOR UPDATE AS BEGIN UPDATE A SET .... UPDATE C SET .... ..... END C: CREATE TRIGGER TRFORC ON C FOR UPDATE AS BEGIN UPDATE A SET .... UPDATE B SET .... ..... END 当在A,B,C任何一表上执行UPDATE操作时: SP_DBOPTION 'RECURSIVE TRIGGER','FALSE' ...... SP_DBOPTION 'RECURSIVE TRIGGER','TRUE' 可能笨拙点。
2、当指定列更新时才执行语句:if update(列) ...
在A,B上各定义FOR UPDATE触发器实现递归调用
A:
CREATE TRIGGER TRFORA ON A
FOR UPDATE
AS
BEGIN
UPDATE B SET ....
.....
END
B:
CREATE TRIGGER TRFORB ON B
FOR UPDATE
AS
BEGIN
UPDATE C SET ....
.....
END
这样行不行,在A,B,C上各定义FOR UPDATE触发器
当发生UPDATE操作时,关闭递归调用功能。
A:
CREATE TRIGGER TRFORA ON A
FOR UPDATE
AS
BEGIN
UPDATE B SET ....
UPDATE C SET ....
.....
END
B:
CREATE TRIGGER TRFORB ON B
FOR UPDATE
AS
BEGIN
UPDATE A SET ....
UPDATE C SET ....
.....
END
C:
CREATE TRIGGER TRFORC ON C
FOR UPDATE
AS
BEGIN
UPDATE A SET ....
UPDATE B SET ....
.....
END
当在A,B,C任何一表上执行UPDATE操作时:
SP_DBOPTION 'RECURSIVE TRIGGER','FALSE'
......
SP_DBOPTION 'RECURSIVE TRIGGER','TRUE'
可能笨拙点。