【数据库】分支与循环函数存储过程

目录

函数 

【1】 

【2】

【3】❗

【4】

存储过程

思考&分析


函数 

【1】 

--(1)定义一个根据学生姓名查询该生学习课程的函数stu_count。
--create function stu_count(@sname char(8))--学生姓名
--returns char(12)--学习课程
--begin
--declare @course char(12)--学习课程
--select @course=course from scores
--join student on scores.sno=student.sno
--where sname=@sname--根据姓名
--return @course--学习课程
--end;
--调用
--print dbo.stu_count('杜敏')

【2】

----定义一个根据系名和课程名,查询该系学生在该门课程上程的平均分的函数sdept_avggrade。
--create function sdept_avggrade(@dept varchar(20),@course varchar(20))
--returns decimal(4,1)
--begin
--declare @avg decimal(4,1)
--select @avg=avg(grade) 
--from scores join student on scores.sno=student.sno
--where @dept in(select dept from classes join  student on classes.classno=student.sno)
--and course=@course
--return @avg
--end;----分别用select和print调用函数sdept_avggrade,查询“计算机系”学生在“数据库原理与应用”这门课程上的平均成绩。
--print dbo.sdept_avggrade('计算机系','大学英语')
--select dbo.sdept_avggrade('计算机系','大学英语')

【3】❗

--(3)创建一个函数f1,根据学生的学号和选修的课程查询该生在该门课程上的成绩,然后返回这个成绩所对应的等级(90及以上:优秀;80及以上:良好;70及以上:中等;60及以上:及格;60以下:不及格)。
--create function f1(@sno char(8),@course char(12))
--returns char(8)
--begin 
--declare @level char(8),@grade int
--select @grade=grade from scores 
--if @grade>=90
--set @level='优秀'
--else if @grade>=80 
--set @level='良好'
--else if @grade>=70
--set @level='中等'
--else if @grade>=60
--set @level='及格'
--else
--set @level='不及格'
--return @level
--end;
--调用
--print dbo.f1('6320210622 ','大学英语')
--select dbo.f1('计算机系','大学英语')
create function f1(@sno char(8),@course char(12))
returns char(8)
begin 
declare @level char(8),@grade int
select @grade=grade from scores 
select @level=CASE
when @grade>=90 then '优秀'
when @grade>=80  then'良好'
when @grade>=70 then '中等'
when @grade>=60 then '及格'
else '不及格'
end
return @level
end;

【4】

--(4)创建一个自定义函数f2,根据学生的学号查询该学生的姓名、选修课程名称和对应课程的成绩。(表值函数)
--create function f2(@sno char(8))
--returns table
--return
--(
--select sname,course,grade from student
--join scores on student.sno=scores.sno
--where student.sno=@sno
--)--(7)调用函数f2,查询“St0109010001”号学生的姓名、选修课程名称和对应课程的成绩。
--select * from dbo.f2('6320210630')

--使用DROP FUNCTION语句来删除f1和f2函数。
drop function f1,f2

存储过程

思考&分析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/212721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

layui分页laypage结合Flask+Jinja2实现流程

Layui2.0普通用法<!DOCTYPE html> <html> <head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1"><title>Demo</title><!-- 请勿在项目正式环境中引用该 …

uniapp iOS离线打包——运行项目到模拟器报错?

运行项目、打包时报错问题 记录个人在开发过程中遇到的相关问题&#xff0c;后续有时间会不定时更新 文章目录 运行项目、打包时报错问题运行到模拟器报错解决方案 打包报错解决方案 运行到模拟器报错 解决方案 选中项目工程 —> Build Settings 滑动底部 —> User-Defi…

Java基础课的中下基础课04

目录 二十三、集合相关 23.1 集合 &#xff08;1&#xff09;集合的分支 23.2 List有序可重复集合 &#xff08;1&#xff09;ArrayList类 &#xff08;2&#xff09;泛型 &#xff08;3&#xff09;ArrayList常用方法 &#xff08;4&#xff09;Vector类 &#xff08;…

gin博客项目开发日志1

gin项目博客系统伪第一代 项目概述 1.1 目标 实现一个功能完整、易用的博客系统&#xff0c;允许用户发布、编辑和管理博客文章。 1.2 背景 看到网上有很多语言写的博客系统&#xff0c;但go的却很少&#xff0c;正好&#xff0c;现在我在学go&#xff0c;可以拿博客来练练…

组件之间传值

目录 1&#xff1a;组件中的关系 2&#xff1a;父向子传值 3&#xff1a;子组件向父组件共享数据 4&#xff1a;兄弟组件数据共享 1&#xff1a;组件中的关系 在项目中使用到的组件关系最常用两种是&#xff0c;父子关系&#xff0c;兄弟关系 例如A组件使用B组件或者C组件…

深入了解UDP协议:特点、应用场景及市面上常见软件案例

目录 引言 UDP的特点 UDP的应用场景 市面上使用UDP的软件案例 结论 引言 在计算机网络中&#xff0c;UDP&#xff08;User Datagram Protocol&#xff09;是一种面向无连接、无状态的传输层协议。与TCP相比&#xff0c;UDP具有独特的特点和适用场景。本文将深入探讨UDP协…

解码方法dp

1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 从左往右 5.返回值 dp[n-1] 6.处理边界问题以及初始化问题的技巧

Docker笔记:数据卷挂载的三种方式及物理机与容器内的环境变量的传递

容器数据挂载到物理机上的三种方式 1 &#xff09; 实名(指定路径)挂载数据卷 docker run -v 物理机目录:容器内目录 镜像id示例 docker run -it -d --name mynginx_p_v -p 82:80 -v /root/www:/usr/share/nginx/html nginx此时访问 会报 403 forbidden因为 物理机上的 root/…

Electron[5] 渲染进程和主进程

1 进程 Electron里头的进程分为渲染进程和主进程。简单理解&#xff1a; main.js就是主进程每个页面就是渲染进程一个Electron应用仅有一个主进程&#xff0c;可以有多个渲染进程 上面的这些概念很重要&#xff0c;不展开细讲。 2 进程职责 主进程是用来实现应用的基础功能…

【小沐学Python】Python实现TTS文本转语音(speech、pyttsx3、百度AI)

文章目录 1、简介2、Windows语音2.1 简介2.2 安装2.3 代码 3、pyttsx33.1 简介3.2 安装3.3 代码 4、ggts4.1 简介4.2 安装4.3 代码 5、SAPI6、SpeechLib7、百度AI8、百度飞桨结语 1、简介 TTS(Text To Speech) 译为从文本到语音&#xff0c;TTS是人工智能AI的一个模组&#xf…

K8S学习指南(6)-k8s核心概念label和label selector

文章目录 前言Label是什么&#xff1f;示例 Label Selector是什么&#xff1f;示例 Label的使用场景Label Selector的类型Label和Label Selector的高级应用使用Label Selector选择Service的后端Pod使用Label Selector进行滚动更新 总结 前言 Kubernetes是一个强大的容器编排平…

Python从入门到精通

一、Python基础语法 1、字面量 掌握字面量的含义了解常见的字面量类型基于print语句完成各类字面量的输出 什么是字面量&#xff1f; 字面量&#xff1a;在代码中&#xff0c;被写下来的的固定的值&#xff0c;称之为字面量 常用的值类型 Python中常用的有6种值&#xff…

MyBatis 四大核心组件之 ResultSetHandler 源码解析

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

MyBatis动态SQL(Dynamic SQL)

Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能&#xff0c;它存在的意义是为了解决拼接SQL语句字符串时的痛点问题。 实际开发中可以通过以下几种标签进行动态SQL拼接。 1 if标签 根据test属性所对应的表达式计算结果决定标签中的内容是否拼接到sql中。 …

基于SpringBoot+JSP+Mysql宠物领养网站+协同过滤算法推荐宠物(Java毕业设计)

大家好&#xff0c;我是DeBug&#xff0c;很高兴你能来阅读&#xff01;作为一名热爱编程的程序员&#xff0c;我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里&#xff0c;我将会结合实际项目经验&#xff0c;分享编程技巧、最佳实践以及解决问题的方法。无论你是…

《C++新经典设计模式》之第15章 适配器模式

《C新经典设计模式》之第15章 适配器模式 适配器模式.cpp 适配器模式.cpp #include <iostream> #include <vector> #include <string> #include <fstream> #include <memory> using namespace std;// 解决两个类之间的兼容性问题 // 转换接口调…

ffmpeg6.0之ffprobe.c源码分析二-核心功能源码分析

本篇我们继续分析: 1、ffprobe -show_packets 参数的处理流程;2、ffprobe -show_frames 参数的处理流程;3、ffprobe -show_streams 参数的处理流程;4、ffprobe -show_format 参数的处理流程; 因为前面的文章已经回顾了这些命令的使用,以及作用。本文就不在赘述,以免篇幅…

《妙趣横生的算法》(C语言实现)- 第5章 数学趣题(一)

《妙趣横生的算法》&#xff08;C语言实现&#xff09;-第5章 数学趣题&#xff08;一&#xff09; 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 提示&#xff1a;写完文…

“新华三杯”第十届成都信息工程大学ACM程序设计竞赛(同步赛)L. 怎么走啊(最短路+二分 分段函数)

题目 登录—专业IT笔试面试备考平台_牛客网 思路来源 衡阳师范学院ac代码、pj学弟 题解 大致可以证明&#xff0c;在w从1e5减小到1的过程中&#xff0c; 之前某条反向边没有用到&#xff0c;现在需要用到反向边&#xff0c;也就是正向边用到的变少了 这样的变化有sqrt个&a…

分层网络模型(OSI、TCP/IP)及对应的网络协议

OSI七层网络模型 OSI&#xff08;Open System Interconnect&#xff09;&#xff0c;即开放式系统互连参考模型&#xff0c; 一般都叫OSI参考模型&#xff0c;是ISO组织于1985年研究的网络互连模型。OSI是分层的体系结构&#xff0c;每一层是一个模块&#xff0c;用于完成某种功…