zoukankan      html  css  js  c++  java
  • MySQL之存储过程和函数

    存储过程和函数:
    1.创建存储过程和函数:
    存储过程:
    delimiter $$
    create procedure proc_name()
    BEGIN
    查询语句; // 记得加分号
    END
    $$
    delimiter ;
    函数:
    delimiter $$
    create function func_name(属性字段 数据类型)
    returns 数据类型 // 这的数据类型与下面查询语句查询的属性字段数据类型相同
    BEGIN
    return (查询语句)
    END
    $$
    delimiter ;
    2.使用存储过程和函数:
    存储过程:
    call proc_name;
    函数:
    select func_name(参数);
    3.查看存储过程:
    show procedure status;
    show function status;
    show create procedure proc_name;
    show create function func_name;
    4.修改:
    ALTER PROCEDURE procedure_name
      [characteristic…]
    ALTER FUNCTION function_name
      [characteristic…]
    5.删除:
    DROP PROCEDURE proce_name;
    DROP FUNCTION func_name;
    例子:
    DROP PROCEDURE IF EXISTS emplayee_count;
    DELIMITER $
    #创建存储过程
    CREATE PROCEDURE emplayee_count (OUT NUM INTEGER)
    BEGIN
    #声明变量
    DECLARE   emplayee_sal INTEGER;DECLARE   flag INTEGER;
    #声明游标
    DECLARE cursor_emplayee
      CURSOR FOR SELECT sal FROM t_employee;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag = 1;
    #设置结束标志
    SET flag=0;SET NUM=0;‘
    #打开游标
    OPEN cursor_emplayee;
    #遍历游标指向的结果集
    FETCH cursor_emplayee INTO emplayee_sal;
    WHILE flag<>1 DO
    IF emplayee_sal >999 THEN
    SET num=num+1;
    END IF;
    FETCH cursor_emplayee INTO emplayee_sal;
    END WHILE;
    #关闭游标
    CLOSE cursor_emplayee;
    END$
    DELIMITER ;
     
    如何使用:
    call emplayee_count(@count);
    select @count;
     
  • 相关阅读:
    20155339 Exp9 Web安全基础
    20155339 Exp8 Web基础
    20155339 Exp7 网络欺诈防范
    20155339 Exp6 信息搜集与漏洞扫描
    20155339 Exp5 MSF基础应用
    20155339 Exp4 恶意代码分析
    20155339 Exp3 免杀原理与实践
    20155339平措卓玛 Exp2 后门原理与实践
    20155339平措卓玛 Exp1 PC平台逆向破解(5)M
    20155339 第16周课堂实践加分作业
  • 原文地址:https://www.cnblogs.com/wadmwz/p/7498246.html
Copyright © 2011-2022 走看看