MySQL基础之函数和存储过程
以表goods 为例,来说明函数和存储过程。数据如下:


存储过程
1、MySQL语句需要先编译再执行。其编译执行过程如下: SQL命令→SQL引擎→SQL引擎对其进行分析,语法是否正确,若正确→将MySQL语句编译成识别命令,然后执行→将结果返回客户端。存储过程是预编译,第一次调用,将编译结果存储到内存,下次调用直接从内存里面获取。下面从无参、带 in 参数、带out参数、带inout参数的存储过程来说明
2、1. 无参存储过程:请参考 MySQL之存储过程 篇。
3、带 in 参数的存储过程:参数的值在调用时指定,可以在存储过程中修改,但不可返回。例子:找出价格大于n的商品DROP PROCEDURE if EXISTS p1;CREATE PROCEDURE p1(in n INT)BEGINSELECT * FROM goods WHERE price>n;END;CALL p1(2200);

5、带inout参数的存储过程:调用时指定,可返回。返回格式化的时间 :DROP PROCEDURE if EXISTS p1;CREATE PROCEDURE p1(INOUT time VARCHAR(64))BEGINSELECT DATE_FORMAT(time,'%Y年%m月%d日 %h点:%i分:%s秒') INTO time;END;SET @Tm=nOW();CALL p1(@Tm);SELECT @Tm;

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:50
阅读量:79
阅读量:32
阅读量:62
阅读量:46