对MYSQL使用得比较熟悉,可平时也只是用到create, insert, delete, update 这几个语句。 今天决定学习一下,MYSQL的新特性-存储过程。在网上找了一下,照着做了一回,现记录如下。
首先以root身份连接到MYSQL:mysql -u root -p 。
输入密码登录后,创建数据库并创建表,输入数据:
create database sample;
use sample;
create table user(
id bigint not null auto_increment primary key,
name varchar(20) );
insert into user(name) values('powerwind');
一切准备就绪,下面开始写存储过程。
首先,修改结束符(原来默认是分号;):delimiter //
接着,开始写一个简单的过程:create procedure p() select * from user;//
然后,恢复结束符为分号:delimiter ;
最后,调用过程:call p();
如果为过程指定参数,可以这样:create procedure p(v_id bigint) select * from user where id=v_id;//
调用时:call p(1);
这样就完成了MYSQL存储过程的基本学习了,因为在过程中写的无非是MYSQL的普通语句,可以select也就可以insert,当然有些语句不一定支持,这就要在学习实践中记住了。要注意的有两点:
1、应该每次写存储过程前后都要改变结束符。
2、不能有两个同名的过程,删除过程的语句是:drop procedure procedure_name;