日期:2014-05-16  浏览次数:20346 次

数据库 存储过程 语法及实例

一.创建存储过程
create procedure sp_name()
begin
.........
end

二.调用存储过程
1.基本语法:call sp_name()
注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递

三.删除存储过程
1.基本语法:
drop procedure sp_name//

2.注意事项
(1)不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程

四.其他常用命令

1.show procedure status
显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等

2.show create procedure sp_name
显示某一个mysql存储过程的详细信息


--------------------数据类型及运算符--------------------
一、基本数据类型:

二、变量:

自定义变量:DECLARE ? a INT ; SET a=100; ? ?可用以下语句代替:DECLARE a INT DEFAULT 100;

变量分为用户变量系统变量,系统变量又分为会话和全局级变量

用户变量:用户变量名一般以@开头,滥用用户变量会导致程序难以理解及管理

1、 在mysql客户端使用用户变量
mysql> SELECT 'Hello World' into @x;
mysql> SELECT @x;

mysql> SET @y='Goodbye Cruel World';
mysql> select @y;

mysql> SET @z=1+2+3;
mysql> select @z;


2、 在存储过程中使用用户变量

mysql> CREATE PROCEDURE GreetWorld( ) SELECT CONCAT(@greeting,' World');
mysql> SET @greeting='Hello';
mysql> CALL GreetWorld( );


3、 在存储过程间传递全局范围的用户变量
mysql> CREATE PROCEDURE p1( ) ? SET @last_procedure='p1';
mysql> CREATE PROCEDURE p2( ) SELECT CONCAT('Last procedure was ',@last_procedure);
mysql> CALL p1( );
mysql> CALL p2( );

?

三、运算符:
1.算术运算符
+ ? ? 加 ? SET var1=2+2; ? ? ? 4
- ? ? 减 ? SET var2=3-2; ? ? ? 1
* ? ? ?乘 ? SET var3=3*2; ? ? ? 6
/ ? ? 除 ? SET var4=10/3; ? ? ?3.3333
DIV ? 整除 SET var5=10 DIV 3; 3
% ? ? 取模 SET var6=10%3 ; ? ? 1

2.比较运算符
> ? ? ? ? ? ?大于 1>2 False
< ? ? ? ? ? ?小于 2<1 False
<= ? ? ? ? ? 小于等于 2<=2 True
>= ? ? ? ? ? 大于等于 3>=2 True
BETWEEN ? ? ?在两值之间 5 BETWEEN 1 AND 10 True
NOT BETWEEN 不在两值之间 5 NOT BETWEEN 1 AND 10 False
IN ? ? ? ? ? 在集合中 5 IN (1,2,3,4) False