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

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

时间:2024-06-23 23:00:05浏览次数:39  
标签:存储 varchar 14 qx qgqh 13 sf qgrk

目录

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

第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.rk
    from qgrk
    join qgqh on qgrk.sf = qgqh.sf
    where qgrk.sf = '湖南省' and qgrk.name=qgqh.qx;
 
end //

delimiter ;
 
#代码结束
 
call sfcx("湖南省");
select * from sfxx;

标签:存储,varchar,14,qx,qgqh,13,sf,qgrk
From: https://blog.csdn.net/m0_74363339/article/details/139897399

相关文章

  • 【TWVRP】遗传算法求解带时间窗的载重约束外卖配送车辆路径规划问题【含Matlab源码 14
    ......
  • 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【13】压力压测JMeter-性能监控jv
    持续学习&持续更新中…守破离【雷丰阳-谷粒商城】【分布式高级篇-微服务架构篇】【13】压力压测JMeter-性能监控jvisualvm压力测试概述性能指标JMeter基本使用添加线程组添加HTTP请求添加监听器启动压测&查看分析结果JMeterAddressAlreadyinuse错误解决性......
  • 计组--存储系统--复习专用...
    文章目录前言一、存储系统的分类二、存储器的性质1.存储容量2.存储器的速度三、存储器的层次结构四、主存储器SRAM:2.译码方式:DRAM:刷新:ROM:五、存储容量的扩展六、高速存储器总结前言学无止境,笔勤不辍。本文,笔者将介绍一下存储系统相关的知识点…一、存储系统......
  • 深度解析RocketMq源码-高可用存储组件(一) raft协议详解
    1.绪论前面的文章已经分析过,以前rocketmq通过主从复制的思想实现系统的高可用,即在搭建集群的时候会手动的设置一个主节点和从节点,在写入数据的时候,会先写入到主broker,然后再同步到从节点中。但是这样会有一个问题,就是主节点宕机过后,需要手动的修改从节点成为新的主节点。在roc......
  • 实战教你ElasticSearch-8.13集群搭建
    elasticsearch8.13集群部署elasticsearch8.13analysis-ikelastiknn环境准备(每台节点都需要修改)修改系统参数-----https://www.elastic.co/guide/en/elasticsearch/reference/current/system-config.html(官方推荐)#vim/etc/security/limits.conf新增内容如下:*har......
  • 14-oop方法回顾
    方法回顾//Demo01类publicclassDemo01{//main方法publicstaticvoidmain(String[]args){}/*修饰符返回值类型方法名(...){//方法体return返回值;//return表示方法结束,返回一个结果}*/publ......
  • docker拉取镜像失败error pulling image configuration: download failed after attem
    最近很多朋友遇到docker拉取镜像失败的问题因为一些网络问题,无法访问docker官方镜像仓库,我们可以通过设置阿里云镜像加速器的方式解决该问题。解决方法:1.访问阿里云官网,并登录https://www.aliyun.com/2.搜索容器镜像服务3.点击立即开通4.根据提示免费开通个人版,开通......
  • 学习angr记录--12~14
    12.veritesting功能默认就是开启的。。。13.添加angr准备好的simProcedures以避免路径爆炸importangrimportsysdefmain(argv):path_to_binary="E:\\A_reverse\\angr_ctf-master\\dist\\13_angr_static_binary"project=angr.Project(path_to_binary,load_opti......
  • CAN收发器TJA1145A休眠唤醒应用
    目录1.  TJA1145 工作原理简介2. SPI通讯3. 唤醒源配置4. 休眠配置    1.  TJA1145 工作原理简介    TJA1145的唤醒工作原理主要依赖于其内部的唤醒机制和外部硬件的配合,主要涉及低功耗状态、选择性唤醒功能。TJA1145是一款CAN收发器,它支持......
  • 13-oop概述
    面向对象思想物以类聚,分类的思维模式。分类,然后对这些分类进行单独思考,最后对某个分类下的细节进行面向过程对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是具体到微观的操作,仍然需要面向过程的思路去处理。面向对象是......