第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

相关文章

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

java内存泄漏排查过程及解决

《java内存泄漏排查过程及解决》公司某服务内存持续增长,疑似内存泄漏,未触发OOM,排查方法包括检查JVM配置、分析GC执行状态、导出堆内存快照并用IDEAProfiler工具定位大对象及代码... 目录内存泄漏内存问题排查1.查看JVM内存配置2.分析gc是否正常执行3.导出 dump 各种工具分析4.

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

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

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