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

标题: 存储程序 [打印本页]

作者: jikcheng    时间: 2014-11-12 17:23
标题: 存储程序
 存储程序有两种类型:
一种是存储过程 执行某些动作。达到某种配置。
一种是函数:得出一个或多个标量值。


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

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

存储程序对象逻辑上存储于数据库的。
所以你不能用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//


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


作者: 郑全    时间: 2014-11-12 17:58

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

 


作者: jikcheng    时间: 2014-11-12 20:09
mysql 有触发器,但是没有package





欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2