



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-写存储过程及调用存储过程/*1.写出创建分数存储过程用于计算某门课程成绩最高分、最低分、 平均分,参数课程号。*/-2.写出统计某门课选人数的存储过程,输入参数课程号,输出参数人数。/*3.创建存储过程,要求根据学生姓名查看学生的籍贯. (要求:在存储过程里定义两个参数, 第一个接收由调用程序指定的输入值(学生姓名), 第二个参数用于将该值返回调用程序)*/*4.程序员工资表:ProWage字段名称数据类型说明IDint自动编号,主键PNameChar(10)程序员姓名Wageint工资创建一个存储过程,对程序员的工资进行分析,月薪1500到10000不等,如果有百分之五十的人薪水不到2000元,给所有人加薪,每次加100,再进行分析,直到有一半以上的人大于2000元为止,存储过程执行完后,最终加了多少钱? 例如:如果有百分之五十的人薪水不到2000,给所有人加薪,每次加100元,直到有一半以上的人工资大于2000元,调用存储过程后的结果如图:请编写T-SQL来实现如下功能:查询是否有一半程序员的工资在2200、3000、3500、4000、5000或6000元之上,如果不到分别每次给每个程序员加薪100元,至之一半程序员的工资达到2200,3000,3500,4000,5000或6000元。/*5.编写一个存储过程PR_GET_PASS_RATE统计某门课程的及格率,其传入参数是课程号P_CNO,传出参数是该课程成绩的及格率P_PASSRATE,及格率的格式形如:86.56%。6创建触发器T_1,功能是当向数据表学生添加记录时,显示学生的信息。create trigger T_1 on 学生after insertas select * from 学生insert into 学生 values(3001,李四,男,计本10)7创建触发器T_2,功能是当向数据表班级添加、修改和删除记录时,显示学生的信息。create trigger T_2 on 学生after insert,update,deleteas select * from 学生8创建触发器T_3,功能是当修改班级班号,同步更新学生表的班号。9创建触发器T_4,功能是当删除学生表的记录时,同步删除选课表中的选课信息。create trigger T_4 on 学生after deleteas declare xh char(10)select xh=学号 from deleted delete from 选课 where 学号=xh delete from 学生 where 学号=3002/*1.写出创建分数存储过程用于计算某门课程成绩最高分、最低分、 平均分,参数课程号。*/use xsglgocreate procedure aa(课程名 nchar(16)asbeginselect 课程号,最高分=max(成绩),最低分=min(成绩),平均分=avg(成绩) from 成绩where 课程号 = 课程名group by 课程号endgoexecute aa 001-2.写出统计某门课选人数的存储过程,输入参数课程号,输出参数人数。use xsglgocreate procedure bb 课程号 char(10),人数 int outputasbeginselect 人数=(select count(课程号)from 成绩where 课程号=课程号)enddeclare 人数 int,课程号 char(4)set 课程号=002exec bb 课程号,人数 outputprint 课程号为+课程号+的人数:+cast(人数 as char(2)/*3.创建存储过程,要求根据学生姓名查看学生的籍贯. (要求:在存储过程里定义两个参数, 第一个接收由调用程序指定的输入值(学生姓名), 第二个参数用于将该值返回调用程序)*/use xsglgo create procedure cc(姓名 char(10),籍贯 char(10) output)asbeginselect 籍贯=(select 籍贯 from 学生where 姓名=姓名)enddeclare 姓名 char(10),籍贯 char(10)set 姓名=廖小小exec cc 姓名,籍贯 outputprint 学生+姓名+的籍贯是:+籍贯USE WageGOCREATE TABLE ProWage -程序员工资表( ID int identity(1,1) primary key, -工资编号 PName CHAR(10) NOT NULL , -程序员姓名 Wage int NOT NULL -工资)GO-1、创建存储过程-if exists (select * from sysobjects where name=Sum_wage)drop procedure Sum_wageGOcreate procedure Sum_wage PWage int,AWage int,total intas while (1=1)beginif (select count(*) from ProWage)2*(select count(*) from ProWage where Wage=PWage)update ProWage set total=total+AWage,Wage=Wage+AWageelsebreakendprint一共加薪:+convert(varchar,total)+元print加薪后的程序员工资列表:select * from ProWage-调用存储过程1-exec Sum_wage PWage=2000,AWage=100,total=0exec Sum_wage PWage=2200,AWage=100,total=0exec Sum_wage PWage=3000,AWage=100,total=0exec Sum_wage PWage=4000,AWage=100,total=0exec Sum_wage PWage=5000,AWage=100,total=0exec Sum_wage PWage=6000,AWage=100,total=05:编写一个存储过程PR_GET_PASS_RATE统计某门课程的及格率,其传入参数是课程号P_CNO,传出参数是该课程成绩的及格率P_PASSRATE,及格率的格式形如:86.56%。create or replace procedure PR_passrate_count(p_cno char,P_PASSRATE out char)as v_passcnt int; v_totalcnt int;begin -先求及格人数 select count(*) into v_passcnt from sc where cno=p_cno and grade=60; -若及格人数为0则给出结果 if v_passcnt=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广告代理权转让合同3篇
- 山东省聊城市教育联盟共同体2024-2025学年九年级上学期9月月考物理试卷(含答案)
- 河南省焦作市温县2024-2025学年二年级下学期期末数学试卷(含答案)
- 汉字寓意解读课件
- 房屋转让协议13篇
- 感人的故事读后感
- “大快乐、小欢喜”体育与健康赏析知到智慧树答案
- DB3305-T 328-2024 社区下沉治理服务点运营规范
- DBJT 15-94-2013 静压预制混凝土桩基础技术规程
- 2025劳动合同的签订不等于劳动关系的形成
- 2024-2025学年人教版八年级数学下册期末测试卷(含解析)
- 媒体行业工作经验及成果展示证明(5篇)
- 购买电钢琴合同协议书
- 公司代收代付协议书
- 《UPS电源系统培训教程》课件
- 2025-2030全球及中国ITSM工具行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 心血管疾病急救知识课件
- 高一新生入学教育
- 医院培训课件:《十八项核心医疗制度解读》
- 课题申报书:英语单元整体教学设计与实施研究
- 2024中国演播室市场运行态势及行业发展前景预测报告
评论
0/150
提交评论