MySQL的存储过程学习小结 附pdf文档下载
2022-11-12 09:22:35
内容摘要
这篇文章主要为大家详细介绍了MySQL的存储过程学习小结 附pdf文档下载,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!存储过程是一种存储
文章正文
这篇文章主要为大家详细介绍了MySQL的存储过程学习小结 附pdf文档下载,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
存储过程是一种存储在数据库库中的程序(就像正规语言里的子程序一样),准确的来说,MySql支持的“routine(例程)”有两种:一是我们说的存储过程,二是在其它sql语句中可以返回值的函数(使用起来和mysql预装载的函数一样,如pi())。一个存储过程包括名字,参数列表,以及可以包括很多sql语句的sql语句集。在这里对局部变量,异常处理,循环控制和if条件语句有新的语法定义。下面是一个包括存储过程的实例声明:代码如下:
1 2 3 4 5 6 7 8 9 10 11 | <code> CREATE PROCEDURE procedurel /*name 存储过程名*/ (IN parameter1 INTEGER) /*parameters 参数*/ BEGIN /*start of blokc 语句块头*/ DECLARE variable1 CHAR(10); /*variables变量声明*/ IF parameter1 = 17 THEN /*start of IF IF条件开始*/ SET variable1 = 'birds' ; /*assignment赋值*/ END IF; /*end of IF IF结束*/ INSERT INTO table1 VALUES (variable1); /*statement SQL语句*/ END /*end of block 语句块结束*/ </code> |
代码如下:
1 2 3 4 5 6 | <code> CREATE PROCEDURE phelloword() BEGIN SELECT 'Hello Word!' AS F; END ; </code> |
代码如下:
1 2 3 4 5 6 | <code> CREATE PROCEDURE ptest() BEGIN SELECT 'Hello Word!' AS F; END // </code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <code> CREATE PROCEDURE plogin ( p_username char(15), p_password char(32), p_ip char(18), p_logintime datetime ) LABEL_PROC: BEGIN DECLARE v_uid mediumint(8); DECLARE v_realpassword char(32); DECLARE v_nickname varchar(30); DECLARE v_oltime smallint(6); SELECT u.uid, u.password, f.nickname, u.oltime INTO v_uid, v_realpassword, v_nickname, v_oltime FROM cdb_members u INNER JOIN cdb_memberfields f ON f.uid = u.uid WHERE u.username = p_username; IF (v_uid IS NULL) THEN SELECT 2 AS ErrorCode; LEAVE LABEL_PROC; END IF; IF (p_password <> v_realpassword) THEN SELECT 3 AS ErrorCode; LEAVE LABEL_PROC; END IF; UPDATE ipsp_userexpands SET lastloginip = p_ip, lastlogintime = p_logintime WHERE uid = v_uid; SELECT 0 AS ErrorCode, v_uid AS uid, v_nickname AS nickname, v_oltime AS oltime; END LABEL_PROC // </code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <code> IF ... THEN ...; ELSE IF ... THEN ...; ELSEIF ...; ELSE ...; END IF; END IF; </code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <code> CREATE PROCEDURE ipsp_getresourcedir ( p_hashcode char(40) ) LABEL_PROC: BEGIN DECLARE v_sql varchar(200); SET v_sql = CONCAT( 'SELECT filedir FROM ipsp_resources WHERE hashcode =\'' , p_hashcode, '\' LIMIT 0, 1' ); SET @sql = v_sql; PREPARE sl FROM @sql; EXECUTE sl; DEALLOCATE PREPARE sl; END LABEL_PROC // </code> |
AND |
TRUE |
FALSE |
NULL |
---|---|---|---|
TRUE |
TRUE |
FALSE |
NULL |
FALSE |
FALSE |
FALSE |
NULL |
NULL |
NULL |
NULL |
NULL |
OR |
TRUE |
FALSE |
NULL |
---|---|---|---|
TRUE |
TRUE |
TRUE |
TRUE |
FALSE |
TRUE |
FALSE |
NULL |
NULL |
TRUE |
NULL |
NULL |
XOR |
TRUE |
FALSE |
NULL |
---|---|---|---|
TRUE |
FALSE |
TRUE |
NULL |
FALSE |
TRUE |
FALSE |
NULL |
NULL |
NULL |
NULL |
NULL |
注:关于MySQL的存储过程学习小结 附pdf文档下载的内容就先介绍到这里,更多相关文章的可以留意
代码注释