温州万国财富小镇:请SQL SERVER 2000的T-SQL编程高手的帮忙

来源:百度文库 编辑:中科新闻网 时间:2024/03/29 17:18:11
我想创建一个课程的表
里面的列包括(课程名字,课程编号,课程学分,先行课)
先行课就是在学习当前课程时必须学习的课程
现在想给先行课添加一个约束
当该课程无先行课时,可取NULL
当该课程有先行课时,先行课必须为该表中已存在的课程。
既外键为课程的名字

请给出用T-SQL语句或者企业管理器中如何实现

不知道我的理解是否正确,你的意思是不是给“先行课”字段加个约束,当向表中新加入数据的时候,给定了“先行课”的值,那么先行课的值必须是表中已经有的课程名,如果不给定“先行课”的值则允许为空。

T-SQL语句如下,字段类型和长度我是假定的,你可以根据情况来修改。

create table [课程表]
(
[课程名字] varchar(100) not null primary key,
[课程编号] varchar(50) not null,
[课程学分] varchar(10) not null,
[先行课] varchar(100) null constraint fk_kcb_xxk foreign key([先行课]) references [课程表]([课程名字])
)

--将课程名字指定为主键,可以被[先行课]所引用