--用游标,遍历学生表,学前班水平吧,NND还网友采纳了
Create Trigger trdStudent
On C
For insert
As
Begin
--这里做个笛卡尔积就可以了(新添加的课程都不会存在于SC表的话),这个就可以了
Insert Into SC(sid,cid)
Select A.sid,B.cid From S A,Inserted B
End
Create Trigger trdStudent
On C
For insert
As
Begin
--这里做个笛卡尔积就可以了,如果课程号已经在SC表的就不插入
Insert Into SC(sid,cid)
Select A.sid,B.cid From S A Cross Join Inserted B
left join SC C on B.cid=C.cid
where c.cid is null
End
Create Trigger trdStudent
On C
For insert
As
Begin
--如果你是一条条的添加课程,判断该课程号是否已经存在于SC,不存在则添加
declare @cid nchar(10)
select @cid=cid Inserted
if not exists(select * from sc where cid=@cid)
Insert Into SC(sid,cid)
Select sid,@cid From S
End
你可以用游标,遍历学生表,然后每读到一个学生,就往选课表日插入一条记录,这样游标循环到最后就可以了。