mysql创建存储过程

来源:互联网 发布:windows强力卸载软件 编辑:程序博客网 时间:2024/05/16 12:40

最近在弄权限那块的事情,遇到了几个问题

由于权限的数据信息存放在两张表中,一张权限表,一张菜单表,于是想要按照自己想要的顺序取得这些数据就比较麻烦一点,于是就想写个存储过程在数据库中,那么程序请求发送命令就和简短而且达到所要的目的。

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。