首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

创建触发器时候报错。一直没找到。%><%啊

2013-01-06 
创建触发器时候报错。。一直没找到。。%_%求助啊。。。约束是:在课程表插入一条数据的时候,如果课程的Cflag标记

创建触发器时候报错。。一直没找到。。%>_<%求助啊。。。
约束是:在课程表插入一条数据的时候,如果课程的Cflag标记是1也就是必修,就为每个学生在成绩表中插入一条数据

就是不知道哪儿出错了。。。。小妹数据库还是入门级。。。求大虾们帮忙。。%>_<%

创建触发器时候报错。一直没找到。%><%啊

还有一个地方觉得很奇怪:
创建触发器时候报错。一直没找到。%><%啊

求助啊。。。马上就要跟老师检查了。。%>_<%




[解决办法]
触发器用这个试试,你还有student表没给我,不过算了。创建触发器时候报错。一直没找到。%><%啊你自己给东西慢而已

CREATE TRIGGER insert_course ON Course
     FOR INSERT
 AS
     DECLARE @Cno INT                                        --@Cno用于接收插入的课程号
     DECLARE @Cflag BIT                                      --@flag用于接收课程的是否选修
     DECLARE @Sno INT                                        --@Sno用于接收学生学号
  
     SELECT  @Cno = Cno
     FROM    inserted
     SELECT  @Cflag = Cflag
     FROM    inserted
  
     DECLARE my_cursor CURSOR
     FOR
         SELECT  Sno
         FROM    Student              --声明游标
     OPEN my_cursor                                                       --打开游标
     FETCH NEXT FROM my_cursor INTO @Sno           --通过游标逐个读取学生学号赋给变量
  
     IF ( @Cflag = 1 ) 
         BEGIN
             WHILE ( @@fetch_status = 0 ) 
                 BEGIN
                     INSERT  INTO Greade
                             ( sno, cno )
                     VALUES  ( @Sno, @cno )
                     FETCH NEXT FROM my_cursor INTO @Sno


                 END
         END
  
     CLOSE my_cursor                                                       --关闭游标
     DEALLOCATE my_cursor                                                  --释放资源
 go

热点排行