在语句 表 的前面加上 数据库名.dbo
例如 insert into table_XFBD2 改成 INsert Into 新库.dbo.table_XFBD2
前提执行这个触发器的用户必须在另外一个库上也有权限
不同服务器的话可以用链接服务器来实现,参考
http://yunlongzheng.blog.51cto.com/788996/468478
可以用下边的方法,仅供参考:--
创建测试主表.
ID
是主键.
CREATE
TABLE
test_main
(
id
INT
NOT
NULL,
value
VARCHAR(10),
PRIMARY
KEY(id)
)
--
创建测试子表.
CREATE
TABLE
test_sub
(
id
INT
NOT
NULL,
main_id
INT
,
value
VARCHAR(10),
PRIMARY
KEY(id)
)
--
插入测试主表数据.
INSERT
INTO
test_main(id,
value)
VALUES
(1,
'ONE')
INSERT
INTO
test_main(id,
value)
VALUES
(2,
'TWO')
--
插入测试子表数据.
INSERT
INTO
test_sub(id,
main_id,
value)
VALUES
(1,
1,
'ONEONE')
INSERT
INTO
test_sub(id,
main_id,
value)
VALUES
(2,
2,
'TWOTWO')
然后,创建外键,使用
ON
DELETE
CASCADE
选项,删除主表的时候,同时删除子表
ALTER
TABLE
test_sub
ADD
CONSTRAINT
main_id_cons
FOREIGN
KEY
(main_id)
REFERENCES
test_main
ON
DELETE
CASCADE
执行删除:
DELETE
FROM
TEST_MAIN
WHERE
ID
=
1
最后:
SELECT
*
FROM
TEST_MAIN
结果子表中就只有ID=2的记录,也就说明级联删除成功。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)