第13关:存储过程1、第14关:存储过程2。(2021数据库期末一)

2024-06-23 13:04

本文主要是介绍第13关:存储过程1、第14关:存储过程2。(2021数据库期末一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

首先需要学习和了解的知识

第13关:存储过程1

任务描述

答案

 第14关:存储过程2

任务描述

答案


本篇博客的答案博主是学习别人得来的,敢于借鉴和学习哈哈!!

首先需要学习和了解的知识

  • 了解什么是存储过程以及存储过程的基本语法。(作者博客专栏或者b站学习)
  • 了解在命令行中,执行创建存储过程的SQL时。需要通过关键字 delimiter 指定SQL语句的结束符。

(本题中的答案有规定的格式,不能更改,否则提交不正确!!)

  • 存储过程中的 begin ... end 之中是写 SQL语句的相关代码的。
  • 在创建存储过程时,参数列表中:输入参数前加 in ,返回值后加 out
  • 其它的就是可以用输入参数,然后给返回值赋值用:select  字段值...  into
  • 本题目中在查询的过程中涉及到连接查询的相关知识。
第13关:存储过程1

任务描述

湖南人口hnpeople数据表如下所示

各字段含义如下
cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)
本关任务:
13.建立存储过程xbcx,输入城市名称,返回该城市的男性人口百分比,女性人口百分比,要求保留两位小数。
调用该存储过程,将结果赋给变量@lx和@nx


开始你的任务吧,祝你成功!

答案

(该题的测试点:就是测试输入的长沙市,返回它的男性、女性人口比)

  • 注意格式不能更改,上方有个 " delimiter // " 不能修改(应该是一个结束标志用法声明)
use rkpc;
#代码开始delimiter //create procedure xbcx(in city_name varchar(20), out lx decimal(5,2), out nx decimal(5,2))
begin-- 计算男性人口百分比select sum(man) * 100.0 / sum(man + woman) into lx
…delimiter ;call xbcx('长沙市', @lx, @nx);#代码结束select @lx,@nx;
 第14关:存储过程2

任务描述

数据库人口普查rkpc有数据表qgrk,有省份sf、名称name、人口rk字段,数据如下所示

有数据表qgqh,有省份sf、城市city、区县qx、代码dm字段,数据如下所示

本关任务:
建立存储过程sfcx(in sfmc varchar(15))
根据输入的省份名称,建立数据表sfxx,将该省的省份名称sf、城市city、区县qx\代码dm、人口rk各字段的信息存入到数据表数据表sfxx。


开始你的任务吧,祝你成功!

答案

(本题的任务根据题目给出的:要在存储过程中完成的SQL语句任务是创建一张表,然后给表中添加一些符合条件的数据,而题目中其实就是要湖南省的数据。其次就是注意本题的描述与测试相矛盾,所以应该将创建的字段 "city" 改成 "cs"

  • 注意格式不能更改,上方有个 " delimiter // " 不能修改(应该是一个结束标志用法声明)
use rkpc;
#代码开始delimiter //create procedure sfcx(in sfmc varchar(15))
begin-- 首先,创建新表sfxx,如果表不存在的话create table if not exists sfxx (sf varchar(15),cs varchar(50),qx varchar(50),dm varchar(50),rk int);-- 接着,向新表中插入数据insert into sfxx (sf, cs, qx, dm, rk)select qgrk.sf, qgqh.cs, qgqh.qx, qgqh.dm, qgrk.rkfrom qgrkjoin qgqh on qgrk.sf = qgqh.sfwhere qgrk.sf = '湖南省' and qgrk.name=qgqh.qx;end //delimiter ;#代码结束call sfcx("湖南省");
select * from sfxx;

这篇关于第13关:存储过程1、第14关:存储过程2。(2021数据库期末一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring boot整合dubbo+zookeeper的详细过程

《Springboot整合dubbo+zookeeper的详细过程》本文讲解SpringBoot整合Dubbo与Zookeeper实现API、Provider、Consumer模式,包含依赖配置、... 目录Spring boot整合dubbo+zookeeper1.创建父工程2.父工程引入依赖3.创建ap

SpringBoot3.X 整合 MinIO 存储原生方案

《SpringBoot3.X整合MinIO存储原生方案》本文详细介绍了SpringBoot3.X整合MinIO的原生方案,从环境搭建到核心功能实现,涵盖了文件上传、下载、删除等常用操作,并补充了... 目录SpringBoot3.X整合MinIO存储原生方案:从环境搭建到实战开发一、前言:为什么选择MinI

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1