第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 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

MySQL 存储引擎 MyISAM详解(最新推荐)

《MySQL存储引擎MyISAM详解(最新推荐)》使用MyISAM存储引擎的表占用空间很小,但是由于使用表级锁定,所以限制了读/写操作的性能,通常用于中小型的Web应用和数据仓库配置中的只读或主要... 目录mysql 5.5 之前默认的存储引擎️‍一、MyISAM 存储引擎的特性️‍二、MyISAM 的主

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Jvm sandbox mock机制的实践过程

《Jvmsandboxmock机制的实践过程》:本文主要介绍Jvmsandboxmock机制的实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、背景二、定义一个损坏的钟1、 Springboot工程中创建一个Clock类2、 添加一个Controller