欢迎投稿

今日深度:

MySQL存储过程详解 mysql 存储过程,mysql存储过程

MySQL存储过程详解 mysql 存储过程,mysql存储过程详解


/*创建存储过程*/
/*创建存储过程的时候要事先指定一个结束标记*/

DELIMITER $
CREATE PROCEDURE test_pro1()
BEGIN
	SELECT * FROM address;
END $
/*调用存储过程*/
CALL test_prol();
DELIMITER $
CREATE PROCEDURE test_pro1()
BEGIN
	SELECT * FROM address;
	SELECT * FROM book;
END $
CALL test_pro2();
/*参数带有参数的存储过程
IN:表示输入参数,可以携带数据到存储过程中去
OUT:表示返回参数,可以从存储过程中返回结果
INOUT:表示输入输出参数,既可以输入参数,又可以返回结果
*/
DELIMITER $
CREATE PROCEDURE test_pro_in(IN id INT)
BEGIN
		select * from address where id=id;
END $
CALL test_pro_in(7369);
/*
	带有多个输入参数的存储过程
*/\
DELIMITER $
CREATE PROCEDURE test_pro_inmore(IN id INT,IN id2 INT)
BEGIN
			SELECT * FROM address WHERE empno=id OR empno=id2;
END $
 
CALL test_pro_inmore(7369,7499);
DELIMITER $
CREATE PROCEDURE test_pro_out(OUT num INT)
BEGIN
			/*给输出的参数赋值,关键字set*/
			SET num=10;
END $ 

CALL test_pro_out(@val);//这个地方的变量是会话变量,会话变量是以@符号开头

SELECT @val;

/*
		mysql数据库中的变量:
											1、全局变量
											2、局部变量
											3、会话变量
*/

SHOW VARIABLES;//查询所有的全局变量
SHOW VARIABLES LIKE 'char%'  //模糊查询全局变量
select character_set_client;//单个查询的全局变量

set @vail='peter';//定义一个会话变量的时候,一定要指定值!
select @vail;

//局部变量的值在begin和end之间

DELIMITER $
CREATE PROCEDURE test_pro_loc()
BEGIN
			DECLARE i INT DEFAULT 1;
		
END $
 


//带有输入输出参数的存储过程,关键字inout
DELIMITER $
CREATE PROCEDURE test_pro_inout(INOUT n INT)
BEGIN
			SET n=100;
END $

SET @aaaaa=10000;
SELECT  @aaaaa;

CALL test_pro_inout(@aaaaa);
SELECT @aaaaa;






版权声明:本文为博主原创文章,未经博主允许不得转载。

www.htsjk.Com true http://www.htsjk.com/shujukunews/10017.html NewsArticle MySQL存储过程详解 mysql 存储过程,mysql存储过程详解 /*创建存储过程*/ /*创建存储过程的时候要事先指定一个结束标记*/ DELIMITER $ CREATE PROCEDURE test_pro1() BEGIN SELECT * FROM address; END $ /*调用存...
评论暂时关闭