在上一篇文章:别再说不知道什么是存储过程和存储函数了
中简单的介绍了存储过程和存储函数以及其使用。其实存储过程是可以进行编程的,所以可以和其他的编程语言一样使用变量、表达式以及控制结构进行编程,从而实现一些复杂和有用的功能。这篇文章就来介绍一下存储过程的一些语法,并通过一些实例来讲解如何使用。
一、声明变量
在存储过程中可以通过Declare来定义一个局部变量,但是该变量的作用范围只是在Begin—End块中,比如:
create procedure p1()
begin
declare a int default 5;
select concat('a的值=',a);
end$
二、变量赋值
对于声明的变量可以通过使用set来进行赋值,比如:
create procedure p2()
begin
declare name varchar(20);
set name='Jifengjianhao';
select name;
end$
另外除了通过set来进行赋值以外,还可以通过select into 来进行赋值操作,select into就是讲一张表查询的结果赋值给声明的变量。在上篇文章创建了一张Employee表,具体创建可以阅读上篇文章,这里以该Employee来说明如何使用select into 进行赋值操作:
create procedure p4()
begin
declare name varchar(20);
select lastname into name from employee where email='123@qq.com';
select name;
end$
这里因为存储过程中的内容为latin1字符集,而latin1字符集为8bit,这说明它是不能表示中文的,所以会报改错,这里讲对应的中文名称改为了英文: