MySQL存储过程部分解释_MySQL

WBOY
Lepaskan: 2016-06-01 13:44:27
asal
871 orang telah melayarinya

bitsCN.com

 

MySQL存储过程部分解释:

 关于MySQL的存储过程

 

存储过程是数据库存储的一个重要的功能,但是MySQL在5.0以前并不支持存储过程,这使得MySQL在应用上大打折扣。好在MySQL 5.0终于开始已经支持存储过程,这样即可以大大提高数据库的处理速度,同时也可以提高数据库编程的灵活性。

 

格式

 

MySQL存储过程创建的格式:CREATE PROCEDURE过程名([过程参数[,...]])   procedure

[特性...] 过程体

 

这里先举个例子:

  

 

1. mysql> DELIMITER // 

 

2. mysql> CREATE PROCEDURE proc1(OUT s int) 

 

3.     -> BEGIN

 

4.     -> SELECT COUNT(*) INTO s FROM user; 

 

5.     -> END

 

6.     -> // 

 

7. mysql> DELIMITER ;

 

 参数

 

MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式如:

 

CREATE PROCEDURE([[IN |OUT |INOUT ] 参数名 数据类形...])

 

IN 输入参数: 表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值

 

OUT 输出参数: 该值可在存储过程内部被改变,并可返回

 

INOUT 输入输出参数: 调用时指定,并且可被改变和返回

 

. IN参数例子

 

创建: 

 

1. mysql > DELIMITER // 

 

2. mysql > CREATE PROCEDURE demo_in_parameter(IN p_in int) 

 

3.      -> BEGIN  

 

4.      -> SELECT p_in; /*查询输入参数*/ 

 

5.      -> SET p_in=2; /*修改*/ 

 

6.      -> SELECT p_in; /*查看修改后的值*/ 

 

7.      -> END;  

 

8.      -> // 

 

mysql > DELIMITER ;

 

OUT参数例子

 

创建:

 

1. mysql > DELIMITER // 

 

2. mysql > CREATE PROCEDURE demo_out_parameter(OUT p_out int) 

 

3.      -> BEGIN

 

4.      -> SELECT p_out;/*查看输出参数*/ 

 

5.      -> SET p_out=2;/*修改参数值*/ 

 

6.      -> SELECT p_out;/*看看有否变化*/ 

 

7.      -> END; 

 

8.      -> // 

 

9. mysql > DELIMITER ;

 

. INOUT参数例子

 

创建:

 

1. mysql > DELIMITER //  

 

2. mysql > CREATE PROCEDURE demo_inout_parameter(INOUT p_inout int)  

 

3.      -> BEGIN

 

4.      -> SELECT p_inout; 

 

5.      -> SET p_inout=2; 

 

6.      -> SELECT p_inout;  

 

7.      -> END; 

 

8.      -> //  

 

9. mysql > DELIMITER ;

 

注释

 

 

 

MySQL存储过程可使用两种风格的注释

 

双模杠:--

 

该风格一般用于单行注释

 

 风格:/* 注释内容*/ 一般用于多行注释

摘自 chizhidan_luck

bitsCN.com
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!