数据库编程

一、实验目的

掌握数据库PL/SQL编程语言,以及数据库存储过程的设计和使用方法。

二、实验内容

存储过程定义,存储过程运行,存储过程的参数传递。掌握PL/SQL编程语言和编程规范,规范设计存储过程。

三、实验数据

已知学生管理系统数据库xsgl,有5个数据表xsgl_user,xsgl_major,xsgl_student,xsgl_course和xsgl_score,分别存储用户、专业、学生、课程和成绩数据,如下图所示。

用SQL语言实现以下:
1、定义存储过程proCourseAvg,该存储过程的功能是根据输入的课程名称,统计该课程的选课人数和平均分,并返回统计结果。
①定义存储过程


--定义存储过程:
create procedure proCourseAvg(@course_name Varchar(30),@cnt int output,@avg_score int output)
as
select @cnt=Count(stud_no),@avg_score=Avg(xsgl_score.score_score)
from xsgl_score,xsgl_course
where  xsgl_score.course_no= xsgl_course.course_no and xsgl_course.course_name=@course_name
group by(xsgl_score.course_no)

②执行结果

--执行结果:
Ps:以C语言为例
declare @course_name Varchar(30),@cnt int ,@avg_score int
exec proCourseAvg 'C语言',@cnt output,@avg_score output
print @cnt
print @avg_score

2、定义存储过程proStudentAvg,该存储过程的功能是根据输入的同学学号,统计该同学的平均分,并返回该同学的姓名和平均分。
以上每个存储过程定义后,给出执行结果。
①定义存储过程

--定义存储过程
create Procedure proStudentAvg(@sid varchar(20),@sname varchar(20) output,@avg_score int output)
asselect @sname=xsgl_student.stud_name,@avg_score=avg(score_score)
from xsgl_score,xsgl_student
where xsgl_student.stud_no=xsgl_score.stud_no and xsgl_student.stud_no=@sid
group by(stud_name)

②执行结果

--以学号202的学生为例
declare @sname varchar(20),@avg_score int
exec proStudentAvg '202',@sname output,@avg_score output
print @sname
print @avg_score

数据库系统原理——数据库编程相关推荐

  1. 【数据库系统】数据库编程

    嵌入式SQL的处理过程: 嵌入式SQL是将SQL语句嵌入程序设计语言中,被嵌入的设计语言为主语言. 当主语言为C语言时,语法格式为: EXEC SQL <SQL语句> 嵌入式SQL语句与主 ...

  2. 数据库系统原理——数据库建模

    一. 数据库设计过程的概述 1. 基本概念 (1). 数据库设计定义 数据库设计就是根据各种应用处理的要求.硬件环境及操作系统特性等,将现实世界中的数据进行合理组织,并利用已有的数据库管理系统(DBM ...

  3. 数据库系统原理 - - (5)数据库编程

    感谢内容提供者:金牛区吴迪软件开发工作室 上一篇:数据库系统原理 - - (4)SQL与关系数据库基本操作 文章目录 第五章:数据库编程 一.存储过程 1.存储过程的基本概念 2.创建存储过程 1)D ...

  4. 《数据库系统原理及应用教程》(苗雪兰等,第五版) 实验五:数据库的组合查询和统计查询实验

    阅读前注意: 1. 本实验报告配套<数据库系统原理及应用教程>(苗雪兰等,第五版) 实验五:数据库的组合查询和统计查询实验(书上10.4节以及第六章部分内容),书本中采用Microsoft ...

  5. 第6章 数据库编程---数据库原理及应用

    第6章 数据库编程 1.理解ODBC连接数据库的方法 2.掌握数据库连接技术(JDBC) 3.掌握JavaWeb数据库编程 4.掌握数据库存储过程原理与编程 5.掌握数据库触发器原理与编程 6.掌握数 ...

  6. 【数据库系统原理】数据库课内实验

    说明:这是武汉理工大学计算机学院[数据库系统原理]课程课内实验. >>点击查看武汉理工大学计算机专业课程资料汇总 >>点击查看WUTer计算机专业实验汇总 谨记:纸上得来终觉浅 ...

  7. 【梳理】数据库系统概论 第8章 数据库编程 8.1 嵌入式SQL 8.2 过程化SQL 8.3 存储过程和函数 8.4 ODBC编程

    教材:王珊 萨师煊 编著 数据库系统概论(第5版) 高等教育出版社 注:文档高清截图在后 第8章 数据库编程 标准SQL是非过程化的查询语言,操作统一.面向集合.功能丰富.使用简单.非过程化语言是相对 ...

  8. 数据库系统原理与应用教程(008)—— 数据库相关概念练习题

    数据库系统原理与应用教程(008)-- 数据库相关概念练习题 一.简答题 1.什么是数据?数据有什么特征? 答案: (1)数据是用来描述事物的符号记录. (2)数据具有以下特征: A)数据是事物属性的 ...

  9. 数据库系统原理 - - (7、8)数据库应用设计与开发实例 + 数据管理技术的发展

    感谢内容提供者:金牛区吴迪软件开发工作室 上一篇:数据库系统原理 - - (6)数据库安全与保护 文章目录 七章:数据库应用设计与开发实例 一.需求描述与分析 二.系统设计 三.系统实现 四.系统测试 ...

  10. 数据库笔记整理--基于《数据库系统概论》第五版王珊一书|第八章--数据库编程知识整理和课后习题答案

    该系列的博客都是基于<数据库系统概论>第五版王珊一书 前提: 因为最近要升学的原因,再加上重温数据库部分内容,所以整理一份比较详细且重点的笔记.适合有考研升学需求的人收藏 -------- ...

最新文章

  1. 【计算机网络】网络层 : IP 组播 ( IP 数据报传输方式 | 组播 IP 地址 | 组播 MAC 地址 | IGMP 协议 | 组播路由选择协议 )
  2. mysql不同服务器数据库查询_不同服务器不同数据库两张表连接查询使用经验
  3. vscode安装和使用
  4. linux用于查看文件内容 tail、cat、more、less、head 、sed 命令
  5. linux监控哪些目录,linux管理文件和目录的命令
  6. BugkuCTF-WEB题alert
  7. FAIR 何恺明、Piotr、Ross等新作,MAE才是YYDS!仅用ImageNet1K,Top-1准确率87.8%!
  8. HTML5 file对象和blob对象的互相转换
  9. 2017.0704.《计算机组成原理》-动态RAM
  10. start-dfs.sh\stop-dfs.sh启动失败
  11. 在linux命令行利用SecureCRT上传下载文件
  12. 怎么把知网caj变成word
  13. vue倒计时翻页插件
  14. 计算机与资源管理器有何区别,在win7中双击打开计算机和右击打开资源管理器有什么区别...
  15. 中山医06年考研初试复试全攻略!( 完整版)
  16. 基于AI的计算机视觉识别在Java项目中的使用(三) —— 搭建基于Docker的深度学习训练环境
  17. 又一篇Android Recovery的文章
  18. oracle创建列默认值,表列添加默认值的方法
  19. 一键部署jumpserver
  20. 汽车网络安全之——CAN网关测试

热门文章

  1. 从《牛津高阶英汉词典》中提取单词(1)
  2. 软考网络规划设计师备考经验分享
  3. 基于网络电子海图的海洋气象信息服务系统
  4. c语言入门自学 零基础学c语言教程
  5. 读研计算机技术与控制工程比较,电气工程与控制工程研究生考研就业的区别,哪个比较好...
  6. 钉钉日志范文100篇_关于公司各岗位钉钉日志撰写标准
  7. 爱立信Ericsson
  8. 方立勋jdbc mysql视频_java视频教程 Java自学视频整理(持续更新中...)
  9. JAVA多线程是什么
  10. 对于IT这两个字眼,是不是只能由学习过IT的大学生才能做呢,就由我来为大家讲解一下IT的由来!