重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3475|回复: 2
打印 上一主题 下一主题

存储程序

[复制链接]
跳转到指定楼层
楼主
发表于 2014-11-12 17:23:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
 存储程序有两种类型:
一种是存储过程 执行某些动作。达到某种配置。
一种是函数:得出一个或多个标量值。


存储程序有很多好处。这里不一一列举,列举出不好处。

增加服务器负载。
限制应用程序的一些功能。

存储程序对象逻辑上存储于数据库的。
所以你不能用use <database> 这种语句在 存储程序里面。


对于存储程序调用你可以使用修饰符。



示例创建存储过程:
mysql> DELIMITER //
mysql> CREATE PROCEDURE record_count ()
-> BEGIN
-> SELECT 'Country count ', COUNT(*)
-> FROM Country;
-> SELECT 'City count ', COUNT(*) FROM
-> City;
-> SELECT 'CountryLanguage count',
-> COUNT(*) FROM CountryLanguage;
-> END//
mysql> DELIMITER ;

示例创建函数:
CREATE FUNCTION pay_check (gross_pay
FLOAT(9,2), tax_rate FLOAT (3,2))
RETURNS FLOAT(9,2)
NO SQL
BEGIN
DECLARE net_pay FLOAT(9,2)
DEFAULT 0;
SET net_pay=gross_pay - gross_pay *
tax_rate;
RETURN net_pay;
END//


删除数据库的时候,存储程序一并删除

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
发表于 2014-11-12 17:58:13 | 只看该作者

存储程序功能应该和oracle数据库的存储程序功能一样吧,mysql只有存储过程和函数吗,有触发器和package没有呢?

 

回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2014-11-12 20:09:07 | 只看该作者
mysql 有触发器,但是没有package
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-28 14:24 , Processed in 0.100288 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表