《mysql必知必会》读书笔记--存储过程的使用
2018-06-18 00:30:39来源:未知 阅读 ()
以前对mysql的认识与应用只是停留在增删改查的阶段,最近正好在学习mysql相关内容,看了一本书叫做《MySQL必知必会》,看了之后对MySQL的高级用法有了一定的了解。以下内容只当读书笔记。
如有转载请注明出处~
存储过程的使用
执行存储过程
CALL productpricing()
执行名为productpricing的存储过程
创建存储过程
CREATE PROCEDURE productpricing() BEGIN SELECT avg(prod_price) AS priceaverage FROM products; END;
注意:如果使用mysql的命令行程序,";"是分隔符,存储过程中也有";"这样会造成使用存储过程中的SQL出现语法错误,解决办法是临时更改语句的分隔符:
DELIMITER // .... DELIMITER ;
其中,除了\ 之外,任何字符都可以用作语句分隔符
删除存储过程
DROP PROCEDURE productpring;
只是给出存储过程的名字,不用跟()
存储过程参数的使用
--创建存储过程 CREATE PROCEDURE ordertotal( IN onumber INT, OUT ototal DECIMAL(8,2) ) BEGIN SELECT sum(item_price*quantity) FROM orderitems WHERE order_num = onumber INTO ototal; END; --调用 CALL ordertotal(234567, @total) --显示结果 SELECT @total
智能存储过程
前面的存储过程只是为了解及学习使用,实际应用中的存储过程不是像上面的一样简单。如下是一较为复杂的存储过程:
-- 创建一个名为ordertotal的存储过程 -- 参数:onumber-订单号 taxable-是否上税(0,不需要 1,需要) ototal-返回的合计 CREATE PROCECURE ordertotal( IN onumber INT, IN taxable BOOLEAN, OUT ototal DECIMAL(8,2) ) COMMENT 'Obtain order total, optionally adding tax' BEGIN -- 定义临时变量total-存储查询到的合计 DECLARE total DECIMAL(8,2) -- 临时变量taxrate-税点 DECLARE taxrate INT DEFAULT 6; -- 得到查询的合计 SELECT Sum(item_price * quantity) FROM orderitems WHERE order_num = onumber INTO total; -- 判断是否需要上税 IF taxable THEN -- 需要,将上税部分添加进合计 SELECT total+(total/100*taxrate) INTO total; END IF; -- 将最终的合计返回 SELECT total INTO ototal; END;
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:修改MySQL数据文件默认路径
下一篇:MySQL中创建表指定存储引擎
- MySQL数据库笔记四:MySQL的约束 2019-07-24
- 一千行 MySQL 学习笔记 2019-07-24
- centos7安装mysql5.7.18笔记 2018-07-23
- MySQL学习笔记 2018-07-16
- SQL语句简单笔记 2018-07-09
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash