用触发器实现的  插入 更新  删除  子表也变化
                             
用触发器实现主从表关系(主表更改从表更改 )CREATE TABLE [dbo].[tablex] (
用触发器实现主从表关系(主表更改从表更改 )    
[idx] [int] IDENTITY (11NOT NULL ,
用触发器实现主从表关系(主表更改从表更改 )    
[ProductID] [int] NULL ,
用触发器实现主从表关系(主表更改从表更改 )    
[productName] [char] (10) COLLATE Chinese_PRC_CI_AS NULL 
用触发器实现主从表关系(主表更改从表更改 )
ON [PRIMARY]
用触发器实现主从表关系(主表更改从表更改 )
GO
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
CREATE TABLE [dbo].[tabley] (
用触发器实现主从表关系(主表更改从表更改 )    
[idy] [int] IDENTITY (11NOT NULL ,
用触发器实现主从表关系(主表更改从表更改 )    
[ProductID] [int] NULL ,
用触发器实现主从表关系(主表更改从表更改 )    
[productname] [char] (10) COLLATE Chinese_PRC_CI_AS NULL 
用触发器实现主从表关系(主表更改从表更改 )
ON [PRIMARY]
用触发器实现主从表关系(主表更改从表更改 )
GO
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
CREATE TRIGGER  triDelete ON [dbo].[tablex] 
用触发器实现主从表关系(主表更改从表更改 )
FOR   delete
用触发器实现主从表关系(主表更改从表更改 )
AS
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
begin
用触发器实现主从表关系(主表更改从表更改 )
declare @aa varchar(200)
用触发器实现主从表关系(主表更改从表更改 )
set @aa=(select  productid   from deleted)
用触发器实现主从表关系(主表更改从表更改 )
if @@rowcount>0
用触发器实现主从表关系(主表更改从表更改 )
delete  tabley    where productid=@aa
用触发器实现主从表关系(主表更改从表更改 )
end
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
CREATE trigger tritmp on tablex for insert
用触发器实现主从表关系(主表更改从表更改 )
as
用触发器实现主从表关系(主表更改从表更改 )
insert into tabley(ProductID) select i.ProductId from inserted as i   where  i.ProductId>100
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
CREATE TRIGGER  triUpdate  ON [dbo].[tablex] 
用触发器实现主从表关系(主表更改从表更改 )
FOR   UPDATE
用触发器实现主从表关系(主表更改从表更改 )
AS
用触发器实现主从表关系(主表更改从表更改 )
IF UPDATE(productname)
用触发器实现主从表关系(主表更改从表更改 )
begin
用触发器实现主从表关系(主表更改从表更改 )
declare @aa varchar(200)
用触发器实现主从表关系(主表更改从表更改 )
set @aa=(select  productid  from INSERTED)
用触发器实现主从表关系(主表更改从表更改 )
declare @bb varchar(200)
用触发器实现主从表关系(主表更改从表更改 )
set @bb=(select  productname  from INSERTED)
用触发器实现主从表关系(主表更改从表更改 )
if (@@rowcount>0)
用触发器实现主从表关系(主表更改从表更改 )
update  tabley  set productname=@bb where productid=@aa
用触发器实现主从表关系(主表更改从表更改 )
end
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
insert tablex values(300,'东方')
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
update tablex set productname='大海' where productid=300
用触发器实现主从表关系(主表更改从表更改 )
select * from tablex
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
select * from tabley
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
delete from tablex where productid=300
用触发器实现主从表关系(主表更改从表更改 )
select * from tablex
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
select * from tabley


其实删除时也可以用外键
删除

用触发器实现主从表关系(主表更改从表更改 )CREATE TABLE [dbo].[TABLE1] (
用触发器实现主从表关系(主表更改从表更改 )    
[UserId] [int] IDENTITY (11NOT NULL ,
用触发器实现主从表关系(主表更改从表更改 )    
[name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL 
用触发器实现主从表关系(主表更改从表更改 )
ON [PRIMARY]
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
CREATE TABLE [dbo].[TABLE2] (
用触发器实现主从表关系(主表更改从表更改 )    
[id] [int] IDENTITY (11NOT NULL ,
用触发器实现主从表关系(主表更改从表更改 )    
[Userid] [int] NULL ,
用触发器实现主从表关系(主表更改从表更改 )    
[name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL 
用触发器实现主从表关系(主表更改从表更改 )
ON [PRIMARY]
用触发器实现主从表关系(主表更改从表更改 )
GO
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
ALTER TABLE [dbo].[TABLE2] ADD 
用触发器实现主从表关系(主表更改从表更改 )    
CONSTRAINT [FK_TABLE2_TABLE1] FOREIGN KEY 
用触发器实现主从表关系(主表更改从表更改 )    (
用触发器实现主从表关系(主表更改从表更改 )        
[Userid]
用触发器实现主从表关系(主表更改从表更改 )    ) 
REFERENCES [dbo].[TABLE1] (
用触发器实现主从表关系(主表更改从表更改 )        
[UserId]
用触发器实现主从表关系(主表更改从表更改 )    ) 
ON DELETE CASCADE 
用触发器实现主从表关系(主表更改从表更改 )
GO
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
select * from table1
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
select * from table2
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
insert table1 values('def')
用触发器实现主从表关系(主表更改从表更改 )
insert table2 values (5,'def')
用触发器实现主从表关系(主表更改从表更改 ) 
select * from table1
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
select * from table2
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现主从表关系(主表更改从表更改 )
delete from table1 where userid=5

相关文章: