/*
XH         TEL        QQ              
---------- ---------- --------------- 
002        5608857    41234124
003        5608857    124124(所影响的行数为 2 行)XH         XM         XB          ADDR                 
---------- ---------- ----------- -------------------- 
002        hhh        1           15#506
003        ljl        1           13#106(所影响的行数为 2 行)*/
CREATE TABLE TABLE1
(XH  VARCHAR(10),
 XM VARCHAR(10),
 XB INT,
 ADDR VARCHAR(20)
)
INSERT TABLE1 SELECT '001',' kkk','1'   , '13#102'
UNION SELECT  '002',    'hhh','1'   , '15#506'
UNION SELECT  '003', 'ljl','1','13#106'
GO
CREATE TABLE TABLE2
(XH VARCHAR(10) ,
 TEL VARCHAR(10),
 QQ VARCHAR(15)
)
INSERT TABLE2 SELECT '001','5608857' , '12312312'
UNION SELECT  '002',  '5608857'   , '41234124'
UNION SELECT  '003', '5608857' ,'124124'
GO
CREATE TRIGGER DEL_TABLE_TR
ON TABLE1
FOR DELETE
AS 
BEGIN
DELETE FROM TABLE2 WHERE XH IN (SELECT XH FROM DELETED)
END
GO
--测试数据删除
DELETE FROM TABLE1 WHERE XH='001'
GOSELECT * FROM TABLE2
SELECT * FROM TABLE1
GODROP TABLE TABLE1
GO
DROP TABLE TABLE2
GO

解决方案 »

  1.   

    CREATE TRIGGER 名
    ON TABLE1
    FOR DELETE
    AS 
    DELETE FROM TABLE2 WHERE xh IN (SELECT xh FROM DELETED)
      

  2.   

    如果建表的时候在
      table1字段名xh 加上  primary key
      table2字段名xh 加上  foreign key  REFERENCES  table1(xh) not null,   运行就出下面的结果了,请高手指正一下,谢谢!!!DELETE 语句与 COLUMN REFERENCE 约束 'FK__TABLE2__XH__01142BA1' 冲突。该冲突发生于数据库 'rocket',表 'TABLE2', column 'XH'。
    语句已终止。