• Mysql存储过程和触发器简介


    一、存储过程,可以理解为带有逻辑的sql语句。

         优点:是执行效率非常快,存储过程是在数据库的服务器端执行的。

         缺点:移植性很差,不同数据库的存储过程是不能移植。

    二、存储过程

    1、基本语法

    --创建存储过程开始
    --声明存储过程结束符为$
    DELIMITER $
    CREATE PROCEDURE 存储名(IN i int ,out sname varchar(25)) --参数类型(in,out,inout)  参数名  数据库类型
    BEGIN
        -- 可以写sql和逻辑体
        -- if语句写法开始
        -- 列如:
        if 条件表达式 then 
            --可以写sql和逻辑体
        elseif 条件表达式 then 
            --可以写sql和逻辑体
        else 
            --可以写sql和逻辑体
        end if
        --if语句写法结束
        
        --while循环语句开始
        -- 列如:
        -- 声明变量i,result
        DECLARE    i INT DEFAULT 1;
        DECLARE result INT DEFAULT 0;
        WHILE i<=num DO
            --可以写sql和逻辑体
            SET result = result + i;
            SET i = i+1;
        END WHILE;
        --while循环语句结束
        
        --使用INTO获取数据库的数据给输出参数开始
        --列如:
            SELECT NAME INTO sname FROM 表名 WHERE id=i; -- i为输入参数,sname为输出参数
        --使用INTO获取数据库的数据给输出参数结束
    END $
    --创建存储过程结束
    --备注 
    参数:
    IN:   表示输入参数,可以携带数据带存储过程中
    OUT: 表示输出参数,可以从存储过程中返回结果
    INOUT: 表示输入输出参数,既可以输入功能,也可以输出功能

    2、调用存储过程

    CALL  存储过程名(参数...);

    3、删除存储过程

    DROP PROCEDURE 存储过程名;

     三、触发器

    1、创建触发器语法

    CREATE  TRIGGER  触发器名   
    AFTER|BEFORE
    INSERT|DELETE|UPDATE ON 表名
    FOR EACH ROW
    -- 语句sql
    end

    2、删除触发器

    DROP  TRIGGER  触发器名;

    yexiangyang

    moyyexy@gmail.com


     

  • 相关阅读:
    在Ubuntu 20.04.2 LTS上,启动samba服务
    怎么将ppt中插入的文件单独保存出来
    两款造包工具,科来和xcap
    intel 网卡 && realtek网卡 抓vlan 设定
    Spring注解和一些类
    ReentrantLock源码阅读
    UG12.0安装
    SQL SERVER 分页代码
    SQL SERVER 处理小数位数函数FU_DecimalDigits
    SQL SERVER 表和列添加备注
  • 原文地址:https://www.cnblogs.com/moy25/p/8459420.html
Copyright © 2020-2023  润新知