语法: 例1:无参数函数 例2:带参数函数 例3:sql 语句体 其它 通常的,我们编写好的SQL语句提交给MySQL服务器之后,MySQL服务器将经历以下过程: MySQL引擎检查语法是否标准 -> sql 无错误时编译该语句 -> 执行编译后的语句 -> 返回结果 存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,调用存储过程时可省去了 检测语法及编译 过程直接执行语句,从而提高效率。 例1:无参数的存储过程: 例2: 带参数的存储过程 MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式如: 例3:IN/OUT 修饰参数 更多:https://www.runoob.com/w3cnote/mysql-stored-procedure.html自定义函数
create function 函数名([参数列表]) returns 数据类型 begin sql语句; return 值; end;
-- 最简单的仅有一条sql的函数 CREATE FUNCTION f1() RETURNS VARCHAR(30) RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H点%i分%s秒') select f1(); -- 调用函数
-- 带参数函数(参数需要声明类型) CREATE FUNCTION f2(a INT,b INT) RETURNS INT RETURN a + b; select f2(1,2); -- 调用函数
-- sql 语句体 CREATE FUNCTION f3(name VARCHAR(30)) RETURNS INT BEGIN INSERT INTO user(username) VALUES (name ); RETURN LAST_INSERT_ID(); END select f3('atong'); -- 调用函数 -- 多个语句需要执行时使用 begin/end 形成聚合体
存储过程(Stored Procedure)
-- 最简单的仅有一条sql的存储过程 CREATE PROCEDURE a() SELECT VERSION(); CALL a(); -- 调用存储过程
-- 带参数的存储过程 CREATE PROCEDURE removeUserById(uid INT) BEGIN DELETE FROM `user` WHERE `id` = uid; END CALL removeUserById(1); -- 执行存储过程
CREATEPROCEDURE 存储过程名([[IN |OUT |INOUT ] 参数名 数据类形...])
-- IN uid 参数为传入参数,OUT nums 参数为传出参数 -- OUT 可以多个,即存储过程可返回多个值 CREATE PROCEDURE test(IN uid INT,OUT nums INT) BEGIN DELETE FROM `user` WHERE id = uid; SELECT COUNT(uid) FROM `user` INTO nums; end -- 调用 CALL test(7,@param); -- @param 相当于传入变量去接受数据 SELECT @param;
mysql 变量
-- into SELECT 'Hello World' into @x; SELECT @x; -- set SET @y='Goodbye Cruel World'; SELECT @y;
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算