数据库实验 | 第1关:建立和调用存储过程(不带输出参数的存储过程)

news2025/1/23 4:43:14

任务描述

本关任务:
该实验是针对数据表jdxx,该数据表有四个字段,分别是省份(sf)、城市(cs)、区县(qxmc)、街道(name)。
例如,查询天心区(qxmc)的所有字段的值结果如图所示
在这里插入图片描述

任务要求

建立存储过程
dqxx(in city varchar(10),in district varchar(10))
输入城市city和区县district的名称,显示乡x、镇z和街道jd、其他的个数
提示:即name字段含有乡、镇、街道及不包含上述选项的个数

调用过程
以长沙市和开福区为参数,调用dqxx过程
以厦门市和同安区为参数,调用dqxx过程

例如,以长沙市和岳麓区为参数,调用过程显示结果如下
乡 街道 镇 其他
1 9 1 0


相关知识

建立存储过程

命令格式:

CREATE PROCEDURE sp_name ( [proc_parameter] )
BEGIN    
过程体
END

设置语句结束符

注意:
DELIMITER //
在过程体前面使用DELIMITER 符号命令将其他符号(不是分号)作为语句结束符,从而使服务器可以完整地处理过程体中所有的sql语句。
DELIMITER ;
在过程结束后将语句结束符变为;

参数列表

([in|out|inout proc_name type][,in|out|inout proc_name type])

过程可以没有参数或多个参数,多个参数之间用逗号分隔
IN输入参数,使数据可以传递给存储过程
OUT输出参数,用于需要返回结果
INOUT输入输出参数 既可以充当输入参数也可以充当输出参数

声明局部变量

DECLARE 局部变量名 类型 [default 默认值]

过程体中使用的局部变量,必须在存储过程的开头处声明

显示表达式的值

SELECT 表达式 [as 列名]

计算并显示表达式的值


代码

use province;
#代码开始
delimiter $$
create procedure dqxx(in city varchar(10),in district varchar(10)) 
begin 
    declare x int;
    declare jd int;
    declare z int;
    declare qt int;
    select count(name) from jdxx where cs = city and qxmc = district and name like "%乡" into x;
    select count(name) from jdxx where cs = city and qxmc = district and name like "%街道" into jd;
    select count(name) from jdxx where cs = city and qxmc = district and name like "%镇" into z;
    select count(name) from jdxx where cs = city and qxmc = district and name not like "%镇" and name not like "%街道" and name not like "%乡" into qt;
    select x 乡, jd 街道, z 镇, qt 其他;
end $$
delimiter ;
call dqxx("长沙市", "开福区");
call dqxx("厦门市", "同安区");
#代码结束

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/434091.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

6.S081——虚拟内存部分——xv6源码完全解析系列(4)

0.briefly speaking 点击跳转到上一篇博客 好,现在进入下一个话题,就是物理内存分配器(kernel/kalloc.c)。在简单介绍完内核态的物理内存分配器之后,之后简单带过一下两个头文件riscv.h和memorylayout.h这两个头文件,因为它们都…

.Net Core从零学习搭建权限管理系统 - 课程简介

课程简介目录 🚀前言一、课程背景二、课程目的三、系统功能四、系统技术架构五、课程特点六、课程适合人员七、课程规划的章节八、最后 🚀前言 本文是《.Net Core从零学习搭建权限管理系统》教程专栏的导航站(点击链接,跳转到专栏…

(1条消息) CodeForces 1278 B.A and B(Math)

题目如下: 题解 or 思路 首先我们需要知道: 对于: s u m 1 2 3 4 . . . n sum 1 2 3 4 ... n sum1234...n s u m a b , ( a ∈ [ 0 , s u m ] ) sum a b, (a \in [0, sum]) sumab,(a∈[0,sum]) 这个在此就不再证明 于是我…

vcpkg添加自定义包安装

文章目录 前言新建overlay-ports编写baseline.json编写openssl.json编写配置修改vcpkg.json修改portfile.cmake 挂载安装后话 前言 vcpkg收集了很多C的包,可总是会有没收录进去的,以openssl 3.0.0版本举例,这个版本vcpkg没有收录进去&#x…

String的不可变特性

1 问题 如何理解“String是不可变的,但是可以变”? 2 方法 (1)String的不可变特性体现在内容和长度 首先在idea中点开查看String这个类是如何定义的 可以看到这样一行代码:private final char value[]; 正是因为这个数…

基于Simulink单载波链路射频波束成形仿真

一、前言 此示例展示了如何在 Simulink中对 IEEE 802.11ad单载波链路进行建模,其中包括具有射频波束成形功能的相控阵天线。 二、介绍 此模型模拟具有射频波束成形的 802.11ad 单载波 (SC)链路。多个数据包通过自由空间传输,然后射…

图片转为pdf怎么弄?简单几个步骤轻松转换

在日常工作和生活中,我们常常需要将图片转换为PDF格式的文档,以满足资料存档和共享的需要。虽然转换过程看起来有些麻烦,但只要选择正确的工具和方法,就能轻松完成。 下面,小编将为大家介绍两种常见的将图片转换为PDF…

生成对抗网络(GAN) 理论概念、改进模型与练习题

生成对抗网络(GAN) 生成对抗网络的基本概念模型提出模型类型模型功能模型目标模型结构模型训练模型实质模型缺点模型生成器的构造模型损失函数 生成对抗网络的改进模型DCGANWGANWGAN-GPACGAN 生成对抗网络的题型 生成对抗网络的基本概念 模型提出 2014…

Grad-CAM的详细介绍和Pytorch代码实现

Grad-CAM (Gradient-weighted Class Activation Mapping) 是一种可视化深度神经网络中哪些部分对于预测结果贡献最大的技术。它能够定位到特定的图像区域,从而使得神经网络的决策过程更加可解释和可视化。 Grad-CAM 的基本思想是,在神经网络中&#xff…

体验编写Vue框架项目实例的详细步骤2(包括git仓库使用,element-ui的使用和eslint校验关闭)

1.在src目录下新建pages文件夹用来放页面。新建文件Index.vue,首页 在Index.vue中搭建vue基本结构。 在element官网Element - The worlds most popular Vue UI framework中选择想要的组件。 我选择是Container布局容器。选择好样式点击显示代码复制相关代码至Ind…

【安全运维】小微企业的安全运维工具用哪款好?

即使是小微企业,也同样面临着安全运维的困扰,同样面临着数据泄露、资产难管理的问题,因此选择一款合适的安全运维工具是非常必要的。那你知道小微企业的安全运维工具用哪款好? 小微企业的安全运维工具用哪款好? 【回…

全景视角下的世界探索——三维全景地图

引言:随着数字技术和虚拟现实技术的发展,三维全景地图已成为一种新型地图展示方式,深受人们的关注和喜爱。三维全景地图以其真实逼真、互动性强、展示效果好等特点,正在越来越多的领域得到应用。 三维全景地图的特点 1.真实逼真 …

Elasticsearch(黑马)

初识elasticsearch ​​. 安装elasticsearch 1.部署单点es 1.1.创建网络 因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络: docker network create es-net 1.2.加载镜像 这里我们采用elasticsearch的7.12.1版本的…

【云原生概念和技术】1.2 云原生技术概括(下)

如果想了解或者学习云原生的友友们,欢迎订阅哦~🤗,目前一周三更,努力码字中🧑‍💻…目前第一章是一些介绍和概念性的知识,可以先在脑海里有一个知识的轮廓,从第二章开始就…

Talk预告 | ICLR‘23 北京大学楼家宁:针对鲁棒聚类问题的接近最优核心集

本期为TechBeat人工智能社区第485期线上Talk! 北京时间3月29日(周三)20:00,北京大学信息科学技术学院——楼家宁的Talk将准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “针对鲁棒聚类问题的接近最优核心集”,届时将针…

nodejs+vue在线课程管理系统

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本在线课程管理系统有管理员,教师,学生。管理员功能有个人中心,学生管理,教师管理,在线课程管理,课件信息管理&#x…

maybits就是持久型框架

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Ob…

使用HiBurn烧录鸿蒙.bin文件到Hi3861开发板

使用HiBurn烧录鸿蒙.bin文件到Hi3861开发板 鸿蒙官方文档的“Hi3861开发板第一个示例程序”中描述了——如何使用DevEco Device Tool工具烧录二进制文件到Hi3861开发板; 本文将介绍如何使用HiBurn工具烧录鸿蒙的.bin文件到Hi3861开发板。 获取HiBurn工具 通过鸿蒙…

简单的Shell脚本实现自动化构建部署-适合前后端分离的小网站

1. 背景 大家在生活中经常会自己写一点小代码。然后部署在公有云的服务器上。但是一般像阿里,腾讯等服务商,提供的机器内存并不是很大。如果想装入一个jenkins之类的服务,会比较占用CPU和内存的资源。但是人手的部署又是比较麻烦的。所以我这…

相较于传统fNIRS,时域矩量fNIRS在多大程度上提高了对大脑活动的估计?

导读 意义:电子技术的进步使通道更多的时域功能近红外光谱(TD-fNIRS)得到发展。由于高阶时域矩的深度选择性,时域矩量分析已被提出用于提高对大脑的敏感度分析。研究者提出了一种综合时域(TD)矩量数据和辅助生理测量(如短分离通道)的一般线性模型(GLM)&…