爱问知识人 爱问教育 医院库

SQL问题只有两天时间哦。

首页

SQL问题只有两天时间哦。

二、  定义一个函数完成如下功能:
   
     在xscj数据库中,如果一个学生的成绩原来不及格:(1)成绩加10分及格就把学生的学号、姓名、专业、课程名、原成绩、加10分后的成绩存在表add10;(2)成绩加20分后及格就把学生的学号,姓名、专业、课程名、原成绩、加20分后的成绩存在表add20;(3)加20分仍然不及格的学生的学号,姓名、课程名、原课程成绩存在表fail。

提交回答

全部答案

    2007-07-04 17:58:36
  • 请LZ参考下面的SQL语句,并且假定LZ的xscj,add10,add20,fail几张表结构都符合要求的前提下,可以将语句写成存储过程,或者在嵌入SQL中写成函数都可以:
    insert into add10 select 学号,姓名,专业,课程名,原成绩,原成绩+10 from xscj where 原成绩+10 >= 60 and 原成绩>=50 and 原成绩 = 60 and 原成绩 < 50;
    insert into fail  select 学号,姓名,专业,课程名,原成绩,原成绩+20 from xscj where 原成绩+20 < 60;

    心***

    2007-07-04 17:58:36

  • 2007-07-03 15:46:04
  •   这个并不难呀,可以利用嵌套进行完成的,以下是用delphi写的,但没有经过调试,可以大概看出程序思路的
    function xyz( ):integer;
    begin
      with Query1 do
      begin
        close;
        sql。
      clear; sql。add('select * from xscj'); sql。add(' where Name=:name'); paramByName('Name'):=strName; open; if eof then begin result:=0; exit; end; if not eof then begin intScore:=FieldByName('Score')。
      asinteger; if intScore>=60 then begin result:=0; exit; end; if intSore+10>=60 then begin //写入到add10中 end; if intSore+2>=60 then begin //写入到add20中 end else begin //写入到fail中 end end; end; end; 思路就是这样的,希望对你有所帮助的。
      

    1***

    2007-07-03 15:46:04

类似问题

换一换
  • 程序设计 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):