zoukankan      html  css  js  c++  java
  • mysql存储过程

    1、 简单的存储过程创建

    drop procedure if exists selectOrder;
    
    DELIMITER //  
    CREATE DEFINER=`root`@`localhost` PROCEDURE `selectOrder`()
    BEGIN
        select * from order_h;
    END
    //
    
    call selectOrder();

    2、 带入参的存储过程创建

    drop procedure if exists selectOrder;
    
    DELIMITER //  
    CREATE PROCEDURE `selectOrder`(in customer varchar(32))
    BEGIN
        select * from order_h where customerid=customer;
    END
    //
    
    call selectOrder('ct9');

    3、 带出参的存储过程创建

    drop procedure if exists selectOrder;
    
    DELIMITER //  
    CREATE PROCEDURE `selectOrder`(out money int)
    BEGIN
        select sum(summoney) into money from order_h where customerid='ct9';
    END
    //
    
    call selectOrder(@money);
    SELECT @money FROM DUAL;

    4、 带有入参出参的存储过程创建

    drop procedure if exists selectOrder;
    
    DELIMITER //  
    CREATE PROCEDURE `selectOrder`(in customer varchar(32), out money int)
    BEGIN
        select sum(summoney) into money from order_h where customerid=customer;
    END
    //
    
    call selectOrder('ct1', @money);
    SELECT @money FROM DUAL;

    5、 存储过程控制语句

    drop procedure if exists selectOrder;
    
    DELIMITER //  
    CREATE PROCEDURE `selectOrder`(in customer varchar(32), in ismax boolean, out money int)
    BEGIN
        if ismax then
            select max(summoney) into money from order_h where customerid=customer;
        else
            select min(summoney) into money from order_h where customerid=customer;
        end if;
        /**
            其他语法
            申明变量 DECLARE s int;
    
            while循环
            WHILE i <= n DO
                set s = s + i;
            END WHILE;
            
            case when
            CASE type
            WHEN 0 THEN
                set c = 'false';
            WHEN 1 THEN
                set c = 'true';
            ELSE
                set c = 'else';
            END CASE;
        */
    END
    //
    
    call selectOrder('ct1', false, @money);
    SELECT @money FROM DUAL;

  • 相关阅读:
    定位的原理
    UE4 开发三维GIS 一 场景光影
    UE4 开发三维GIS
    hive
    atlas
    开源AI药物发现TorchDrug安装测试的那些坑
    使用Docker快速搭建zabbix 5
    Docker简易部署
    简单的批量telnet 测试
    ASP.NET Core 中间件
  • 原文地址:https://www.cnblogs.com/coshaho/p/7500370.html
Copyright © 2011-2022 走看看