2022年实验四Transact-SQL数据库编程答案 .pdf

上传人:C****o 文档编号:38675168 上传时间:2022-09-04 格式:PDF 页数:5 大小:33.47KB
返回 下载 相关 举报
2022年实验四Transact-SQL数据库编程答案 .pdf_第1页
第1页 / 共5页
2022年实验四Transact-SQL数据库编程答案 .pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《2022年实验四Transact-SQL数据库编程答案 .pdf》由会员分享,可在线阅读,更多相关《2022年实验四Transact-SQL数据库编程答案 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、试验四Transact-SQL 数据库编程1.编一程序用于判断XS数据表中是否有年龄小于18 岁的学生数据, 如果有则显示学生的人数,否则显示“没有年龄小于18 岁的学生数据” 。 set serveroutput on; declare n_count number(10); begin select count(*) into n_count from xs where to_number(to_char(sysdate,yyyy)-to_number(to_char(cssj,yyyy)18; if n_count=90 显示“优”平均成绩 =80 显示“良”平均成绩 =70 显示“中”

2、平均成绩 =60 显示“及格”平均成绩 =90 then 优 when avg(cj)=80 then 良 when avg(cj)=70 then 中 when avg(cj)=60 then 及格 else 不及格 end 平均成绩from xs,xs_kc where xs.xh=xs_kc.xh group by xs.xh,xm; 3.创建一个用户自定义函数,以学号和课程名称为参数,返回该学生指定课程的学习成绩。然后使用该函数查询学号“200901”同学“计算机网络”的成绩。Create or replace function func1 精选学习资料 - - - - - - - -

3、 - 名师归纳总结 - - - - - - -第 1 页,共 5 页(s_num in char,s_kcm in char) return number As n_cj number; Begin select cj into n_cj from xs_kc,kc where xs_kc.kch=kc.kch and xh=s_num and kcm=s_kcm; RETURN(n_cj); end func1; DECLARE man_num NUMBER; BEGIN man_num:=func1(200901, 计算机网络 ); dbms_output.put_line(to_char

4、(man_num); END; 4.创建一个游标,返回计算机专业每个同学的学号、姓名、课程名称和成绩。DECLARE v_xh char(6); v_xm char(8); v_kcm char(20); v_cj number(2); CURSOR XS_CUR3 IS SELECT xs.xh,xm,kcm,cj FROM xs,kc,xs_kc WHERE xs.xh=xs_kc.xh and kc.kch=xs_kc.kch and ZYM=计算机 ; BEGIN OPEN XS_CUR3; FETCH XS_CUR3 INTO v_xh,v_xm,v_kcm,v_cj; WHILE

5、XS_CUR3%FOUND LOOP dbms_output.put_line(v_xh| |v_xm| |v_kcm| |to_char(v_cj); FETCH XS_CUR3 INTO v_xh,v_xm,v_kcm,v_cj; END LOOP; CLOSE XS_CUR3; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 5 页END; 5.创建一个用户自定义函数,以学号为参数,返回指定学生的各科成绩及总成绩。然后使用该函数查询学号为“200901”学生的各科成绩及总成绩。Create or replace function

6、func2 (s_num in char) return number As n_cj number; Begin DECLARE v_kcm char(20); v_cj number(2); CURSOR XS_CUR3 IS SELECT kcm,cj FROM xs_kc,kc WHERE kc.kch=xs_kc.kch and xs_kc.xh=s_num; BEGIN OPEN XS_CUR3; FETCH XS_CUR3 INTO v_kcm,v_cj; WHILE XS_CUR3%FOUND LOOP dbms_output.put_line(v_kcm| |to_char(

7、v_cj); FETCH XS_CUR3 INTO v_kcm,v_cj; END LOOP; CLOSE XS_CUR3; END; SELECT sum(cj) into n_cj FROM xs_kc,kc WHERE kc.kch=xs_kc.kch and xs_kc.xh=s_num; return(n_cj); end func2; DECLARE man_num number; BEGIN 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 5 页man_num:=func2(200901); dbms_output.put

8、_line( 总成绩 | |to_char(man_num); END; 6.创建一用户自定义的函数,用于统计某一课程在每个分数段的人数。分数段分为:低于60 分, 6070 分, 70 80 分, 8090 分, 90100 分。课程名低于 60 60707080809090100计算机基础0 3 7 5 4 CREATE OR REPLACE FUNCTION rs (v_kcm in char,cj1 out number,cj2 out number,cj3 out number,cj4 out number,cj5 out number) RETURN NUMBER AS zs NU

9、MBER; BEGIN SELECT count(xh) INTO cj1 FROM xs_kc,kc where xs_kc.kch=kc.kch and kcm=v_kcm and cj=60 and cj=70 and cj=80 and cj=90 ; SELECT count(xh) INTO zs FROM xs_kc,kc where xs_kc.kch=kc.kch and kcm=v_kcm; RETURN(zs); END rs; DECLARE kcm char(10):= 计算机网络 ; zs number; cj1 number; 精选学习资料 - - - - - -

10、 - - - 名师归纳总结 - - - - - - -第 4 页,共 5 页cj2 number; cj3 number; cj4 number; cj5 number; BEGIN zs:=rs(kcm,cj1,cj2,cj3,cj4,cj5); dbms_output.put_line( 计算机网络共有| |to_char(zs); dbms_output.put_line( 不及格的有 | |to_char(cj1); dbms_output.put_line( 及格有 | |to_char(cj2); dbms_output.put_line( 中有 | |to_char(cj3); dbms_output.put_line( 良有 | |to_char(cj4); dbms_output.put_line( 优有 | |to_char(cj5); END; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 5 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁