MySQL存储过程

来源:互联网 发布:赛睿淘宝旗舰店 编辑:程序博客网 时间:2024/06/10 02:47

理解:
1,对于一种新的语言编程,一般而言需要几步:定义变量,定义函数,调用函数,循环分支,变量赋值,语法规范。
2,对于一些容易出现的错误特殊标识记忆。

mysql的存储过程简介:
定义变量:declare eg:declare i int default 0;
变量赋值:set i = i + 1;
循环分支:①while 条件 do 执行语句 end while; ②repeat 执行语句 until 条件 end repeat;③名称:loop 执行语句 (leave == break,iterate == continue) end loop;
调用函数:函数名(形参列表)
调用存储过程: call 存储过程名;

注意细节:
①存储过程中的sql语句如果想要使用变量,不可以直接使用(简单的用set或者declare语句定义变量,然后直接作为sql的表名是不行的,mysql会把变量名当作表名。在其他的sql数据库中也是如此,mysql的解决方法是将整条sql语句作为变量,其中穿插变量作为表名,然后用sp_executesql调用该语句。这在mysql5.0之前是不行的,5.0之后引入了一个全新的语句,可以达到类似sp_executesql的功能(仅对procedure有效,function不支持动态查询) ###引用)这里写图片描述
主要是:
set @sqlstr = concat(…)
prepare ss from @sqlstr;
execute ss;
************这里的@是变量权限,prepare是预处理语句标识符(函数不支持动态SQL,只能在存储过程中)************