存储过程:
可编译的函数,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程可由应用程序通过一个调用来执行,而且允许用户声明变量 。同时,存储过程可以接收和输出参数、返回执行存储过程的状态值,也可以嵌套调用。
eg:
mysql> DELIMITER //
mysql> CREATE PROCEDURE testProcedure(OUT id int)
-> BEGIN
-> SELECT COUNT(*) INTO id FROM STUDENT;
-> END
参数:IN ,OUT ,INOUT
create procedure PRONAME ([[IN|OUT|INOUT]参数名 数据类型])
调用存储过程
call 存储过程名(参数) {入参:直接写参数 出参:@参数名} 标示符;
eg:
CALL testProcedure(@id)//
删除存储过程:
drop procedure if exists 存储过程名;
eg:
drop procedure if exists testProcedure;
查看数据库中存储过程:
方法一:
select 要显示的东西 from MYSQL.proc where db='db名' and type='PROCEDURE'
eg:
select name from MYSQL.proc where db='arfun' and type='PROCEDURE';
select * from MYSQL.proc where db='arfun' and type='PROCEDURE';
方法二:
show procedure status;
查看存储过程或函数的创建代码:
show create procedure proc_name;
show create function func_name;
可编译的函数,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程可由应用程序通过一个调用来执行,而且允许用户声明变量 。同时,存储过程可以接收和输出参数、返回执行存储过程的状态值,也可以嵌套调用。
创建存储过程:
声明标示符
eg:
mysql> DELIMITER //
mysql> CREATE PROCEDURE testProcedure(OUT id int)
-> BEGIN
-> SELECT COUNT(*) INTO id FROM STUDENT;
-> END
-> //
//:声明的标示符
参数:IN ,OUT ,INOUT
create procedure PRONAME ([[IN|OUT|INOUT]参数名 数据类型])
调用存储过程
call 存储过程名(参数) {入参:直接写参数 出参:@参数名} 标示符;
eg:
CALL testProcedure(@id)//
删除存储过程:
drop procedure if exists 存储过程名;
eg:
drop procedure if exists testProcedure;
查看数据库中存储过程:
方法一:
select 要显示的东西 from MYSQL.proc where db='db名' and type='PROCEDURE'
eg:
select name from MYSQL.proc where db='arfun' and type='PROCEDURE';
select * from MYSQL.proc where db='arfun' and type='PROCEDURE';
方法二:
show procedure status;
查看存储过程或函数的创建代码:
show create procedure proc_name;
show create function func_name;