日期:2014-05-16 浏览次数:20725 次
存储过程是经过编译之后存放在数据库中的sql语句集合。
存储过程怎么写
看例子:
存储过程的语法
create procedure proc_name (proc_peremeter1,.....) --存储过程名称和参数 [characteristic ....] routine_body --存储过程
调用存储过程的语法
call proc_name --调用存储过程
示例 创建存储过程
当然创建存储过程之前先建立相关的表,为了学习只建立一个简单的表结构;
CREATE TABLE filmall ( id smallint(5) NOT NULL, film_id smallint(6) NOT NULL, name varchar(40) DEFAULT NULL, store_id smallint(6) NOT NULL, txt text, PRIMARY KEY (`id`) ) ;
在数据表里插入数据。
写一个简单的存储过程:
--存储过程的名称为proc_film_store,参数为3个:前面两个为输入,后面一个为输出
delimiter $$
create procedure proc_film_store (IN p_film_id INT,IN p_store_id INT,OUT p_film_count INT) BEGIN SELECT txt FROM filmall WHERE film_id = p_film_id AND store_id = p_store_id; SELECT FOUND_ROWS() INTO p_film_count; --将条数放入变量中 END $$
delimiter ;
?现在就可以调用存储过程了。
call proc_film_store(1,1,@a);---输入参数 --执行完之后会输出查询出来的数据 --输出查询到的条数 select @a;
?存储过程就OK了。
--还有一点要说明的是,书写存储过程时,一般会用到如下命令 --书写存储过程之前,改变结束符 delimiter $$ --这个语句的意思是将结尾符;替换为$$ --写完存储过程之后,再将结束符改回来 delimiter ;
?
?