SqlServer2012实例之存储过程

2023-11-09 22:08

本文主要是介绍SqlServer2012实例之存储过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

--1、调用帮助系统来查找系统存储过程或函数来显示SQL Server的版本号及当前系统时间。(提示:到帮助中根据关键字等查询到对应的函数或存储过程来完成任务)代码截图和运行结果截图如下。

--3、将Course表上增加一个字段seleNUM,并编写存储过程:传入学号s_id和课程号--course_id后,完成在S_C表中插入相应的选课记录,并在Course表中对应课程的--seleNUM加1。调用该存储过程,

--测试执行结果。代码截图和运行结果截图如下

--4、创建一个存储过程,参数是学号s_id,输出信息是指定学号多对应的姓名、课程名称、成绩。

--运行时若没有指定学号,则提示“请输入学号”,若学号不存在,则提示“学号不存在”。

--5、创建一个存储过程Pro_Accum,利用while循环实现计算从1到输入参数n间各整数的累加计算功能,

--计算结果存入输出参数sum。并通过T-SQL调用定义的存储过程,计算1+2+…+100的累加和,并输出。

--1、调用帮助系统来查找系统存储过程或函数来显示SQL Server的版本号及当前系统时间。(提示:到帮助中根据关键字等查询到对应的函数或存储过程来完成任务)代码截图和运行结果截图如下。
select @@VERSION '版本号' ,GETDATE() '系统时间'
--2、创建一个存储过程,要求查询每位学生所选课程的平均成绩、最高成绩。调用该存储过程,
--测试执行结果。代码截图和运行结果截图如下。
create procedure PD1_selectresult
as
beginselect s_id 学号,avg(result) 平均成绩,max(result) 最高成绩from s_c group by s_id,course_id
endexec PD1_selectresult
--3、将Course表上增加一个字段seleNUM,并编写存储过程:传入学号s_id和课程号--course_id后,完成在S_C表中插入相应的选课记录,并在Course表中对应课程的--seleNUM加1。调用该存储过程,
--测试执行结果。代码截图和运行结果截图如下
alter table course
add seleNUM intselect * from courseupdate course
set seleNUM =(select count(s_id)from s_cwhere s_c.course_id=course.course_id)select * from coursecreate procedure PD2_course_record
@s_id char(10),
@course_id char(10)
as
begininsert into s_c (s_id,course_id)values(@s_id,@course_id)update courseset seleNUM =seleNUM +1where course_id=@course_id
endselect * from s_c
exec PD2_course_record '2016010101','0007'
select * from s_c
select * from course
--4、创建一个存储过程,参数是学号s_id,输出信息是指定学号多对应的姓名、课程名称、成绩。
--运行时若没有指定学号,则提示“请输入学号”,若学号不存在,则提示“学号不存在”。
create procedure PD2_print_result
@s_id char(10)=null
as
beginif @s_id is NULLprint '请输入学号'elsebegin if exists(select s_id from s_c where s_id = @s_id )beginselect student.s_id '学号', s_name '姓名',course.course_id '课程名称',result '成绩'from student,course,s_cwhere student.s_id =s_c.s_id  and s_c.course_id =course.course_id and student.s_id =@s_id endelseprint'学号不存在'end
endexec PD2_print_result
exec PD2_print_result '2016010101'
exec PD2_print_result '2016010109'
--5、创建一个存储过程Pro_Accum,利用while循环实现计算从1到输入参数n间各整数的累加计算功能,
--计算结果存入输出参数sum。并通过T-SQL调用定义的存储过程,计算1+2+…+100的累加和,并输出。
create procedure Pro_Accum
@n int
as
begindeclare @sum int declare @i int set @sum=0set @i=1while(@i<=@n)beginset @sum = @sum+@iset @i=@i+1end print @sum
end exec Pro_Accum '100'

 

这篇关于SqlServer2012实例之存储过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/378706

相关文章

Centos7 firewall和docker冲突问题及解决过程

《Centos7firewall和docker冲突问题及解决过程》本文描述了一个在CentOS7上使用firewalld和Docker容器的问题,当firewalld启动或重启时,会从iptable... 目录系统环境问题描述问题排查解决办法总结本文只是我对问题的记录,只能用作参考,不能China编程说明问题,请

SpringBoot全局异常拦截与自定义错误页面实现过程解读

《SpringBoot全局异常拦截与自定义错误页面实现过程解读》本文介绍了SpringBoot中全局异常拦截与自定义错误页面的实现方法,包括异常的分类、SpringBoot默认异常处理机制、全局异常拦... 目录一、引言二、Spring Boot异常处理基础2.1 异常的分类2.2 Spring Boot默

SpringBoo WebFlux+MongoDB实现非阻塞API过程

《SpringBooWebFlux+MongoDB实现非阻塞API过程》本文介绍了如何使用SpringBootWebFlux和MongoDB实现非阻塞API,通过响应式编程提高系统的吞吐量和响应性能... 目录一、引言二、响应式编程基础2.1 响应式编程概念2.2 响应式编程的优势2.3 响应式编程相关技术

SpringBoot的全局异常拦截实践过程

《SpringBoot的全局异常拦截实践过程》SpringBoot中使用@ControllerAdvice和@ExceptionHandler实现全局异常拦截,@RestControllerAdvic... 目录@RestControllerAdvice@ResponseStatus(...)@Except

线程池ThreadPoolExecutor应用过程

《线程池ThreadPoolExecutor应用过程》:本文主要介绍如何使用ThreadPoolExecutor创建线程池,包括其构造方法、常用方法、参数校验以及如何选择合适的拒绝策略,文章还讨论... 目录ThreadPoolExecutor构造说明及常用方法为什么强制要求使用ThreadPoolExec

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

Nginx服务器部署详细代码实例

《Nginx服务器部署详细代码实例》Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,:本文主要介绍Nginx服务器部署的相关资料,文中通过代码... 目录Nginx 服务器SSL/TLS 配置动态脚本反向代理总结Nginx 服务器Nginx是一个‌高性

MySQL数据目录迁移的完整过程

《MySQL数据目录迁移的完整过程》文章详细介绍了将MySQL数据目录迁移到新硬盘的整个过程,包括新硬盘挂载、创建新的数据目录、迁移数据(推荐使用两遍rsync方案)、修改MySQL配置文件和重启验证... 目录1,新硬盘挂载(如果有的话)2,创建新的 mysql 数据目录3,迁移 MySQL 数据(推荐两

MyBatis-Plus逻辑删除实现过程

《MyBatis-Plus逻辑删除实现过程》本文介绍了MyBatis-Plus如何实现逻辑删除功能,包括自动填充字段、配置与实现步骤、常见应用场景,并展示了如何使用remove方法进行逻辑删除,逻辑删... 目录1. 逻辑删除的必要性编程1.1 逻辑删除的定义1.2 逻辑删php除的优点1.3 适用场景2.

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文