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;
     
  • 相关阅读:
    druid的配置
    js学习(五)-全局函数和类内部函数区别
    js学习(四)- prototype原型对象
    js学习(三)-使用大括号({ })语法创建无类型对象
    js学习(一)-动态添加、修改、删除对象的属性和方法
    js学习(一)-对象和函数概念
    js关于函数和对象的概念
    js传递数组到后台
    ubantu一些资料
    fiddler的编程文章
  • 原文地址:https://www.cnblogs.com/wadmwz/p/7498246.html
Copyright © 2011-2022 走看看