求一个oracle触发器的写法:

1.SQL语句建立下列关系模型。学生关系Student(学号SO,姓名name,性别SEX,,日Birth,所在系DEPT,所得学分CREDIT),关键字... 1. SQL语句建立下列关系模型。
 学生关系Student (学号SO,姓名name,性别SEX,,日Birth,所在系DEPT,所得学分CREDIT),关键字为学号SO;
 课程关系Course(课程号CO,课程名name,学时HOUR,学分CREDIT),关键字为课程号CO;
 选课关系CS(学号SO,课程号CO, 分数G),关键字为学号SO,课程号CO
2. 用PL/SQL建立触发器,以实现根据学生选课所得分数自动维护学生所得的学分。
3. 用PL/SQL建立触发器,根据课程的容量限制选课人数。(选作)
4. 用PL/SQL建立触发器实现下列约束,如果一个学生有20个及以上学分不及格,就不允许他再选课。(选作)

求第二题的写法,另外,
下边这个是我试着写的触发器,说有编译错误,求问为什么。。
create or replace trigger str
after update
on CS74
for each row
begin
update student74
set credit = 0
where so = :new.so
end;
/
展开
 我来答
陈韩泰
2012-03-23 · TA获得超过107个赞
知道小有建树答主
回答量:128
采纳率:0%
帮助的人:105万
展开全部
这个我知道,因为我也犯过类似的错误,其实本身创建触发器语句没什么错误。但是因为你是在SQL窗口下运行这些代码就会出现编译错误,那么如果你换一个窗口--比如命令窗口(oracle 10g)这样呢创建触发器,函数,过程就都不会游编译错误了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
panhq2006
2012-03-22 · 超过27用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:61.9万
展开全部
update student74
set credit = 0
where so = :new.so 中的命令没有结束需要在 :new.so 添加 ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西门公子庆
2012-03-22 · TA获得超过1879个赞
知道小有建树答主
回答量:482
采纳率:100%
帮助的人:275万
展开全部
create or replace trigger str
after update
on CS74
for each row
begin
update student74
set credit = 0
where so = :new.so;
end;
/
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式