zoukankan      html  css  js  c++  java
  • sql server2008 级联操作

    问题提出:现在我有三张表,学生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 );
    复制代码

     

  • 相关阅读:
    [CF590C] Three States
    [CF767B] The Queue
    [CF1296F] Berland Beauty
    [CF3D] Least Cost Bracket Sequence
    YUV420 转 RGB 测试
    [POI2012] TOU-Tour de Byteotia
    [CF576C] Points on Plane
    [CF191C] Fools and Roads
    [CF1485C] Floor and Mod
    [CF1399D] Binary String To Subsequences
  • 原文地址:https://www.cnblogs.com/michaelkai/p/3135077.html
Copyright © 2011-2022 走看看