全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-写存储过程及调用存储过程/*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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020-2025年安全员之B证(项目负责人)通关考试题库带答案解析
- 中毒性表皮坏死松解型药疹的护理
- 2026浙江瑞丰银行秋季校园招聘历年真题汇编及答案解析(夺冠)
- 2026年投资项目管理师之投资建设项目组织考试题库200道含答案(考试直接用)
- 浙江国企招聘-2025杭州上城数字新基建管理有限公司招聘3人历年真题汇编及答案解析(夺冠)
- 2026年度社工(初)《社会工作实务》考试练习题及答案解析(夺冠)
- 2025中国人民保险集团股份有限公司楚雄州分公司招聘30人历年真题库带答案解析
- 2026航天科工十院校园招聘备考题库附答案
- 2026年质量员之设备安装质量专业管理实务考试题库附参考答案【培优a卷】
- 2026年版全国社会工作者《社会工作实务》考试典型题带答案解析
- 旅行社安全生产工作会议记录
- 心脑血管疾病防治健康教育
- 气象局面试题目和答案
- 企业三体系培训
- 远程心电图管理制度
- 公司党建宣传片策划方案
- 建信金科面试题及答案
- 支气管哮喘防治指南(2024年版)解读课件
- 2025年中级机械工程师考试试题及答案
- 2025-2030年中国公安信息化行业市场深度调研及竞争格局与投资策略研究报告
- 山姆合同协议书
评论
0/150
提交评论