mysql创建存储过程
2012-09-01 20:11
274 查看
最近在弄权限那块的事情,遇到了几个问题
由于权限的数据信息存放在两张表中,一张权限表,一张菜单表,于是想要按照自己想要的顺序取得这些数据就比较麻烦一点,于是就想写个存储过程在数据库中,那么程序请求发送命令就和简短而且达到所要的目的。
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。
由于权限的数据信息存放在两张表中,一张权限表,一张菜单表,于是想要按照自己想要的顺序取得这些数据就比较麻烦一点,于是就想写个存储过程在数据库中,那么程序请求发送命令就和简短而且达到所要的目的。
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。
相关文章推荐
- mysql 创建存储过程 返回单个值 调用存储过程
- MySQL知识(十四)——存储过程的创建
- mssql 和 mysql的区别,让自动增长列自动递增就必须指定其他列名,mysql创建事务,如果插入的字符多余字段的值,会报错?截取插入?带输出参数的存储过程,带If else判断
- MySQL使用存储过程创建用户
- mysql实现创建动态表的存储过程
- MySQL 创建存储过程(MySQL 5.0)
- MySQL创建存储过程
- mysql创建存储过程
- mysql创建视图,存储过程,事件
- mysql 创建存储过程 java程序调用该存储过程
- linux中mysql如何创建存储过程
- MySQL定时任务的创建(存储过程)
- Python使用MySQLdb创建、调用MySQL存储过程
- MySQL使用存储过程创建100W条数据
- MYSQL中存储过程的创建,调用及语法
- Python--MySql(主键的创建方式、存储引擎、存储过程、索引、pymsql)
- MySql中创建存储过程
- mysql存储过程之创建存储过程
- mysql创建存储过程
- iBatis调用存储过程以及MySQL创建存储过程