最近在弄权限那块的事情,遇到了几个问题
由于权限的数据信息存放在两张表中,一张权限表,一张菜单表,于是想要按照自己想要的顺序取得这些数据就比较麻烦一点,于是就想写个存储过程在数据库中,那么程序请求发送命令就和简短而且达到所要的目的。
mysql创建存储过程不同于ms sql
在sql server中你要创建过程直接按照以下方式就可以了
create procedure 过程名
@参数1 类型,
@参数2 类型,
·········
as SQL语句
但是这在mysql中时不行的,那么mysql中时如何操作的呢?
如下格式,学过编程就知道函数是怎么写的,在mysql中的过程就像写函数一样
create procedure 过程名(IN 参数1 类型,IN 参数2 类型,OUT 参数3 类型,·········)
begin
sql语句
(注意每个语句后需要加上分号作为一句语句的结束)
end
举个例子:
use test; #这个语句是选择数据库
CREATE PROCEDURE myproce(IN param VARCHAR(36))
BEGIN
SELECT Role_ID,Role_Name FROM core_role WHERE Role_ID=param;
END
(请注意运行的时候应该选定内容,然后右键运行选择的内容,如果不注意有时候会一并运行你其他的语句,结合起来就会出现错误)
其实IN 可以可以写,可以不写,一般默认为IN 参数输入,OUT 代表参数用于返回的
要执行过程使用语句
CALL myproce('12');
删除过程使用
drop procedure myproce。