• Mysql 存储过程声明及使用


    存储过程(Stored Procedure):是一组用于完成特定数据库功能的sql语句集,该sql语句集经过编译后存储在数据库系统中,在使用的时候,用户通过调用指定已经定义好的存储过程并执行它,从而完成一系列的数据库操作;

    1.声明创建一个存储过程

    # 定义基本存储过程
    DROP PROCEDURE IF EXISTS test;    #如果存在指定存储过程则删除它
    DELIMITER //    # 定义存储过程结束符,
    CREATE PROCEDURE test()    # 创建存储过程
        BEGIN         # 存储过程要执行的操作
            SELECT 'Hello World!'
        END//    
        
    CALL test();        # 调用存储过程

    2.声明变量

    #存储过程变量的声明和使用
    DROP PROCEDURE IF EXISTS test;    #如果存在指定存储过程则删除它
    DELIMITER //            # 定义存储过程结束符,
    CREATE PROCEDURE test()
    BEGIN
        DECLARE aa VARCHAR(20);    # 定义变量 
        DECLARE bb INT DEFAULT 0;    # 定义int 类型变量 默认为0;
        SET aa = '张三';    # 变量赋值
        SELECT aa;        # 输出变量
        SELECT bb;        # 输出变量
    END//
    CALL test();            # 调用存储过程

    3.流程控制语句的声明使用

    #存储过程流程控制语句使用
    DROP PROCEDURE IF EXISTS test_2;
    DELIMITER //
    CREATE PROCEDURE test_2()
    BEGIN 
        DECLARE aa INT;        # 定义变量
        DECLARE bb INT;        # 定义变量
        SET aa = 20;        # 变量赋值
        SET bb = 20;        # 变量赋值
        IF aa > bb THEN        # 判断
            SELECT aa;
        ELSEIF aa < bb THEN    # else if 可以有多个
            SELECT bb;
        ELSE             # else 只能存在一个
            SELECT aa+bb;
        END IF;            # 结束if 语句
    END//
    CALL test_2();            # 调用存储过程

    4.loop 循环语句的使用

    #loop 循环语句的使用
    # 输出1-100之间所有数字之和
    DROP PROCEDURE IF EXISTS test_3;
    DELIMITER //
    CREATE PROCEDURE test_3()
    BEGIN 
    DECLARE aa INT DEFAULT 0;    # 定义变量 默认值为0
    DECLARE sums INT DEFAULT 0;    # 定义变量 默认值为0
    loopName:LOOP            # 循环开始:loopName 定义循环名
        SET aa = aa + 1;    # 设置变量自增
        SET sums = sums + aa;    
        IF aa >= 100 THEN    # loop 需要设置跳出条件,不然会变成死循环
            LEAVE loopName;    # 结束循环
        END IF;    # 结束if 语句
    END LOOP;    # 结束loop 循环语句
    SELECT sums;    # 输出结果
    END//
    CALL test_3();    # 调用存储过程
  • 相关阅读:
    浅析匿名内部类
    Neo4j学习实录 下载-安装-springboot操作neo4j
    Objective-C内存管理教程和原理剖析2
    Objective-C内存管理教程和原理剖析
    Objective-C语法快速参考
    Objective-C语法
    一点基础的东西:Objective-C的类型和常量
    IOS开发之----异常处理
    UITextField的详细使用
    TextField知多少
  • 原文地址:https://www.cnblogs.com/XhyTechnologyShare/p/11861865.html
Copyright © 2020-2023  润新知