但是实际中需要那样呀,student表中的gid, cid都是从grade_class表中id对应来的

解决方案 »

  1.   

    给个例子.
    --主表(假设col1,col2,col3要与从表构成级联关系,其中 col1 的内容是唯一的)
    create table 主表(
    col1 int primary key, --字段值不重复的字段,做主键
    col2 int not null,
    col3 int not null,
    col4 int,
    constraint UQ_col1_col2_col3_24 unique(col1,col2,col3) --在col1+col2+col3上设置唯一约束,这样可以与从表构成级联约束
    )--从表
    create table 从表(
    id int identity,
    col1 int,
    col2 int,
    col3 int,
    col4 int,
    constraint FK_col1_col2_col3_2423
    foreign key(col1,col2,col3) --col1,col2,col3构成与主表col1,col2,col3的级联关系
    references 主表(col1,col2,col3)
    on update cascade
    on delete cascade --级联更新/删除
    )
    select * from 主表
    select * from 从表truncate table 主表
    insert 从表(col1,col2,col3,col4)
    select 1,1,1,1
    union all
    select 2,6,2,2
    go
      

  2.   

    回工人:
    constraint FK_col1_col2_col3_2423
    foreign key(col1,col2,col3) --col1,col2,col3构成与主表col1,col2,col3的级联关系
    references 主表(col1,col2,col3)
    on update cascade
    on delete cascade --级联更新/删除
    现在我想作的是:
    constraint FK_col1_col2_col3_2423
    foreign key(col1,col2) --col1,col2,col3构成与主表col1,col2,col3的级联关系
    references 主表(col1,col1)
    on update cascade
    on delete cascade --级联更新/删除
    就不行呀,就是说两个字段都与另一个表的主键相关。