实验10.2 修改和删除存储过程

更新于 2026年10月10日 版权声明
实验10.2 修改和删除存储过程

【实验目的】

①掌握修改存储过程的方法。

②掌握删除存储过程的方法。

【实验内容】

①修改存储过程proc_Sumdol,通过顾客的cid和代理商aid来查询某一顾客订购的商品的总金额。

②修改存储过程proc_Qcustomer,把定义的变量cid的长度修改为20个字节。存储过程定义改为:根据顾客的cid来查询顾客的姓名、城市。

③用图形界面工具删除存储过程proc_Sumdol。

④用SQL语句删除存储过程proc_Qcustomer。

【实验步骤】

(1)修改存储过程proc_Sumdol

修改存储过程proc_Sumdol,要求通过顾客的cid和代理商aid来查询某一顾客订购的商品的总金额。

①在图标菜单中单击第一个图标 图示,新建一个查询窗口。

②在查询窗口输入如下代码,先将原始存储过程删除,再创建新的存储过程。

USE `sales`;
DROP PROCEDURE IF EXISTS `proc_Sumdol`;
DELIMITER $$
USE `sales`$$
CREATE PROCEDURE `proc_Sumdol`(
IN in_cid char(4),
IN in_aid char(3),
OUT dol_sum float)
BEGIN
SELECT sum(dollars) into dol_sum FROM orders WHERE cid = in_cid AND aid = in_aid;
END$$

③单击工具栏中的 图示 按钮,执行上面的SQL语句,如图10.11所示。

图示

图10.11 修改存储过程proc_Sumdol

(2)修改存储过程proc_Qcustomer

修改存储过程proc_Qcustomer,要求把定义的变量cid的长度修改为20个字节。存储过程定义改为根据顾客的cid来查询顾客的姓名、城市。

①在图标菜单中单击第一个图标 图示,新建一个查询窗口。

②在查询窗口中输入如下SQL语句:(https://www.daowen.com)

USE `sales`;
DROP PROCEDURE IF EXISTS `proc_Qcustomer`;
DELIMITER $$
USE `sales`$$
CREATE PROCEDURE `proc_Qcustomer`(
IN in_cid char(20),
OUT out_cname varchar(30),
OUT out_city varchar(50))
BEGIN
SELECT cname, city into out_cname, out_city FROM customers WHERE cid = in_cid;
END$$

③单击工具栏中的 图示 按钮,执行上面的SQL语句,如图10.12所示。

图示

图10.12 修改存储过程proc_Sumdol

(3)用图形界面工具删除存储过程

删除存储过程proc_Sumdol。

启动 MySQL Workbench,在“Navigator”导航栏的“Schemas”选项页中依次单击“sales”→“Stored Procedures”,右击“proc_Sumdol”,在快捷菜单中选择“Drop Stored Procedure”选项,并在弹出窗口选择“Drop Now”,如图10.13所示。

图示

图10.13 删除存储过程proc_Sumdol

(4)用SQL语句删除存储过程

删除存储过程proc_Qcustomer。

①在图标菜单中单击第一个图标 图示,新建一个查询窗口。

②在查询窗口中输入如下SQL语句:

USE `sales`;
DROP PROCEDURE IF EXISTS `proc_Qcustomer`;

③单击工具栏中的 图示 按钮,执行上面的SQL语句,如图10.14所示。

图示

图10.14 删除存储过程proc_Qcustomer

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)