微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlserver级联更新

 我们设计数据库经常会设计主表,子表.经常需要删除,修改主表主键,子表做相应的同步.对于删除好处理点:用sql语句先删除子表数据,再删除主表数据.修改就有问题了.如果主表的主键时子表的外键.用sql语句时没法修改的.除非先删除外键约束.我介绍一下在sql Server2005中如何非常简单的实现这种需要.我分两种情况:

1.主子表主键不同.子表的外键是主表的主键.

最常见的是:订单表和订单详细表.

脚本: 

  1. Create Table ParentDT --主表  
  2. (  
  3. UserNumb varchar(20), --主键  
  4. UserName varchar(20)  
  5. )  
  6. Table Child1DT --子表1  
  7. (  
  8. OrderID int,          --主键  
  9. --外键  
  10. )  

打开:sql Server Management Studio:设置外主外键后.再按下图设置: 

2.主子表主键相同.

最常见的是:用户表和用户详细表 

  
  • Table Child2DT --子表2  
  • --主键,外键  
  • email tel varchar(20)  
  •  特殊点就在于:Child2DT表的UserNumb既是主键又是外键.其它设置和第一中情况一样.

    3.最后说明:

    以上都可使用脚本实现. 

      Table ParentDT --主表    
    1. (    
    2.  UserNumb varchar(20) primary key--主键    
    3.  UserName varchar(20)    
    4. )    
    5. Table Child1DT --子表1    
    6.  OrderID --主键    
    7. --外键    
    8.  CONSTRAINT [FK_Child1DT_ParentDT] FOREIGN KEY([UserNumb])     
    9. REFERENCES [dbo].[ParentDT] ([UserNumb])     
    10. ON UPDATE CASCADE    
    11. DELETE CASCADE   
    12. )  
  • 版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

    相关推荐