mysql的自定义的函数和存储过程
来源:互联网 发布:淘宝电工工具袋 编辑:程序博客网 时间:2024/04/30 18:04
自定义函数的两个必要条件:参数,返回值。
存储过程的概念:存储过程是sql集合和控制语句的预编译集合,以一个名称存储并作为一个单元处理。
范例:
#创建不带参数函数
create function f1() returns varchar(30)
return DATE_FORMAT(NOW(),"%y年%m月%d日 %H点:%i分:%s秒");
#运行函数
select f1();
#创建符合结构函数体,给表插入username的属性
create function adduser(username VARCHAR(32)) returns int(11)
BEGIN
insert test(username) VALUES(username);
return LAST_INSERT_ID();//返回id值
end
select adduser('王国');
#删除函数
drop FUNCTION f1
-- 创建带参函数(计算两个数的平均值)f2括号是带参的参数类型,returns 后面跟的是返回值的类型,return 代表 返回的结果体
create function f2(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED) RETURNS float(10,2) UNSIGNED return (num1+num2)/2;
select f2(10,15);
存储过程的定义:
优点:增强了sql语句的功能性和灵活性,实现较快的执行速度,减少网络的流量
-- 创建无参存储过程
create PROCEDURE pr() select VERSION()
-- 创建删除的存储函数(参数是IN的类型,删除test表id=2的数据)
create PROCEDURE removTestById(IN p_id int)
BEGIN
delete from test where id=p_id;
end
call removTestById(2);
#带OUT的参数返回值(表示有返回值)
create PROCEDURE removeIdAndReturnCount(IN p_id int ,OUT count int)
BEGIN
delete from test where id=p_id;
select count(*) from test into count ; -- nto代表的意思是把count(*)的值赋值给count返回带回去
end
call removeIdAndReturnCount(3,@count) -- 第一个直接写传的参数第二个参数是返回的值,要用@方式的值来接收,代表用户变量,存储函数里的变量叫局部变量
select @count;
- mysql的自定义的函数和存储过程
- 初探mysql的存储过程和函数-----自定义存储过程和函数
- mysql中自定义函数和存储过程的几个区别
- mysql的存储函数和存储过程
- MySQL存储过程和自定义函数、Navicat for mysql、创建存储过程和函数、调用存储过程和函数的区别
- 存储过程和自定义函数的区别
- 存储过程和自定义函数的区别
- 存储过程和自定义函数的优缺点
- MySQL存储过程和函数的区别
- Mysql存储过程和函数的区别
- MySQL存储过程和函数的区别
- mysql 存储函数和过程的总结
- MySQL存储过程和函数的区别
- MYSQL的存储过程和函数
- MySQL的存储过程和函数
- mysql 存储过程和函数的区别
- MySQL存储过程和函数的区别
- mysql 存储过程和函数的区别
- 67-add Binary
- Java(9-1)输入与输出(二)
- win10下Candence16.6安装破解心得
- 一维线搜索确定最优步长
- 拜占庭将军问题
- mysql的自定义的函数和存储过程
- Hadoop 新 MapReduce 框架 Yarn 详解
- easyui使用中遇到的一系列问题
- MATLAB绘制3D隐函数曲面的方法总结
- git diff出现类似ESC[32的错误显示
- 2017.12.17Day13
- spring 属性注入
- adb 常用几个命令(笔记)
- bzoj1237 [SCOI2008]配对 贪心结论+插数dp