存储过程的使用,mysql必知必会

作者:新京葡娱乐场388官网

《mysql必知必会》读书笔记--存款和储蓄进度的选拔,

开端对mysql的认知与运用只是停留在增加和删除改查的品级,这段时间恰恰在求学mysql相关内容,看了1本书称为《MySQL必知必会》,看了未来对MySQL的高档用法有了料定的询问。以下内容只当读书笔记。

如有转发请注明出处~

原先对mysql的认知与行使只是停留在增加和删除改查的阶段,这段时间恰好在读书mysql相关内容,看了壹本书称为《MySQL必知必会》,看了后来对MySQL的高端用法有了一定的问询。以下内容只当读书笔记。

开始对mysql的认知与运用只是停留在增加和删除改查的阶段,近些日子刚幸好就学mysql相关内容,看了一本书称为《MySQL必知必会》,看精通后对MySQL的高等用法有了断定的打听。以下内容只当读书笔记。

积攒进度的行使

如有转载请表明出处~

如有转发请注脚出处~

实施存款和储蓄进程

CALL productpricing()

  实施名字为productpricing的囤积进度

存款和储蓄进程的选择

积攒进度的应用

开创存款和储蓄进程

CREATE PROCEDURE productpricing()
BEGIN
SELECT avg(prod_price) AS priceaverage
FROM products;
END;

  注意:假诺使用mysql的一声令下行程序,";"是分隔符,存款和储蓄进程中也可以有";"那样会导致选拔存款和储蓄进程中的SQL出现语法错误,消除办法是暂且转移语句的相间符:

DELIMITER //
....
DELIMITER ;

  其中,除了 之外,任何字符都能够用作语句分隔符

试行存款和储蓄进度

CALL productpricing()

  实践名称叫productpricing的积攒进度

推行存款和储蓄进程

CALL productpricing()

  施行名称叫productpricing的蕴藏进度

去除存款和储蓄进度

DROP PROCEDURE productpring;

  只是给出存款和储蓄进程的名字,不用跟()

创立存款和储蓄进度

CREATE PROCEDURE productpricing()
BEGIN
SELECT avg(prod_price) AS priceaverage
FROM products;
END;

  注意:即便应用mysql的指令行程序,";"是分隔符,存款和储蓄进程中也会有";"那样会导致采纳存款和储蓄进程中的SQL出现语法错误,消除办法是一时半刻改成语句的相间符:

DELIMITER //
....
DELIMITER ;

  其中,除了 之外,任何字符都得以用作语句分隔符

创办存款和储蓄过程

CREATE PROCEDURE productpricing()
BEGIN
SELECT avg(prod_price) AS priceaverage
FROM products;
END;

  注意:即便应用mysql的下令行程序,";"是分隔符,存款和储蓄进程中也可以有";"那样会招致接纳存款和储蓄进度中的SQL现身语法错误,消除办法是临时改成语句的相间符:

DELIMITER //
....
DELIMITER ;

  其中,除了 之外,任何字符都得以用作语句分隔符

存款和储蓄进程参数的采取

--创建存储过程
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

除去存款和储蓄进度

DROP PROCEDURE productpring;

  只是给出存款和储蓄进程的名字,不用跟()

去除存款和储蓄过程

DROP PROCEDURE productpring;

  只是给出存款和储蓄进度的名字,不用跟()

智能存款和储蓄进度 

  前边的贮存进度只是为明白及学习使用,实际使用中的存款和储蓄进度不是像上边的同等轻便。如下是一较为复杂性的仓库储存进度:

-- 创建一个名为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;

 

从前对mysql的认知与利用只是停留在增加和删除改查的级差,近些日子恰幸而读书mysql相关内容,看了一...

储存进度参数的施用

--创建存储过程
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

仓库储存进程参数的行使

--创建存储过程
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;

 

智能存款和储蓄进程 

  前边的蕴藏进度只是为了然及学习使用,实际采取中的存款和储蓄进程不是像上边的如出一辙轻巧。如下是一较为复杂性的囤积进度:

-- 创建一个名为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;

 

本文由www.204.net发布,转载请注明来源

关键词: www.204.net