数据库实验九 存储过程(新)

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

任务描述
本关任务:
该实验是针对数据表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])
过程可以没有参数或多个参数,多个参数之间用逗号分隔

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
本次实验我们将学习存储过程的创建、调用与删除。 一、实验目的 1.掌握存储过程的创建方法。 2.了解存储过程的调用方式。 3.了解存储过程的删除方法。 二、实验环境 1.操作系统:Windows 7及以上。 2.数据库:MySQL 5.7及以上。 三、实验内容 1.创建存储过程 存储过程是一组预先编译的SQL语句集合,可以接收参数、执行流程控制语句,并返回结果。可以减少网络传输次数,提高执行效率。 创建存储过程的语法如下: ```sql CREATE PROCEDURE 存储过程名称(IN/OUT 参数名称 数据类型) BEGIN -- 存储过程的SQL语句 END; ``` 其中,`IN`表示输入参数,`OUT`表示输出参数。参数可以有多个,多个参数用逗号隔开。存储过程名称和参数名称都是自定义的,但是要符合MySQL的命名规范。 例如,创建一个简单的存储过程,用于查询指定学生的成绩信息: ```sql CREATE PROCEDURE get_student_score(IN stu_id INT) BEGIN SELECT * FROM score WHERE stu_id = stu_id; END; ``` 注意,在存储过程中使用参数时,需要在参数前面加上`@`符号。 2.调用存储过程 调用存储过程的语法如下: ```sql CALL 存储过程名称(参数值); ``` 例如,调用上面创建的存储过程,查询学号为1的学生的成绩信息: ```sql CALL get_student_score(1); ``` 3.删除存储过程 删除存储过程的语法如下: ```sql DROP PROCEDURE 存储过程名称; ``` 例如,删除上面创建的存储过程: ```sql DROP PROCEDURE get_student_score; ``` 四、实验总结 本次实验学习了存储过程的创建、调用和删除方法。存储过程可以减少网络传输次数,提高执行效率,适合于需要反复执行的SQL语句集合。在实际应用中,还需要根据具体业务场景,设计和优化存储过程,提高数据库的性能和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ssaty.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值