在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1. 存储过程1.1. 基本语法create procedure name ([params]) UNSIGNED [characteristics] routine_body params : in|out|inout 指定参数列表 代表输入与输出 routine_body: SQL代码内容,以begin ........ end characteristics: 指定存储过程特性,包含5种 1 DETERMINISTIC 不确定的 1.2 创建一个指定执行权限的存储过程create DEFINER=`root`@`%` procedure name ([params]) UNSIGNED [characteristics] routine_body DEFINER:指明谁有权力来执行。 1.3 DELIMITER 的使用”DELIMITER //“ 表示设置“//”符号为结束语,因为mysql中默认语句结束为分号‘;',为了避免存储过程与mysql语句符号冲突,所以有时使用DELIMITER来改变结束语符号,要配合end //来使用; 示例:创建一个root账户执行的存储过程,输出给定字符串的长度 DELIMITER // CREATE definer=`root`@`%` PROCEDURE `avgFruitPrice`( in f_string VARCHAR(200) ) BEGIN select length(f_string); END// 2. 创建函数函数的创建与存储过程相同 示例 DELIMITER // CREATE definer=`root`@`%` FUNCTION `my_length`( f_string VARCHAR(200) ) RETURNS INT(11) UNSIGNED NO SQL BEGIN return length(f_string); END// 注意: 创建函数需要注意3个地方, 1. RETURNS: 需指定返回类型 2. UNSIGNED NO SQL 需指定存储过程特性 3.return: 返回需要的数据 遇见的错误: 如报错如上信息就是没有指定存储过程特性。 存储过程函数中可以通过mysql查询结果为其参数复制: 其语句为select .... into begin declare onename char(50) default‘0'; declare twoname char(50); select f_name, b_name into onename, twoname from t_user where id =1; ....... end// 说明: declare: 存储过程及函数内部定义变量 default:默认值 到此这篇关于mysql创建存储过程及函数详解的文章就介绍到这了,更多相关mysql存储过程及函数内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论