zoukankan      html  css  js  c++  java
  • Sql Server级联操作

    问题提出:现在我有三张表,学生Student,课程Course,成绩SC

    1.  学生表Student,主键是学号Sno

    2.  课程Course,主码是课程号Cno

    3.  成绩SC,主码是Sno和Cno,Sno外键约束是Student的Sno,Cno的外键约束是Cno

    现在我需要对Student或者Course进行修改或删除,希望在SC表中能保持修改或删除同步,这就需要到级联操作!


    方法一、SQL Server 2008 中手动设置“级联”

    这个方法建议在建表时不要加入任何设置外键的代码,如果主码是两者或以上的就不适合使用


    1.  打开“数据库关系图”,若未创建,则创建

    2.  选中SC表,右击选中“关系”,展开“INSERT和UPDATE规范”中选择级联

    3.  Student表 和 Course 表也要同样的设置

    方法二、建表时使用级联代码添加

     1 IF EXISTS (SELECT * FROM dbo.sysobjects WHERE ID = OBJECT_ID(N'SC')
     2             AND OBJECTPROPERTY(ID, 'IsUserTable') = 1)
     3     DROP TABLE SC
     4 Go
     5 CREATE TABLE SC
     6 (    Sno CHAR(10),
     7     Cno CHAR(10),
     8     Grade SMALLINT CHECK (Grade >= 0 AND Grade <= 100) NOT NULL,
     9     
    10     PRIMARY KEY (Sno, Cno),
    11     FOREIGN KEY (Sno) REFERENCES Student (Sno)
    12         ON UPDATE CASCADE
    13         ON DELETE CASCADE,
    14     FOREIGN KEY (Cno) REFERENCES Course (Cno)
    15         ON UPDATE CASCADE
    16         ON DELETE CASCADE
    17 );
  • 相关阅读:
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    实现微信小程序和支付宝小程序二维码合并
    Solr教程:1.下载和安装
    如何生成漫画风图片无需下载APP无需PS无需电脑
  • 原文地址:https://www.cnblogs.com/yewei/p/2828245.html
Copyright © 2011-2022 走看看