当前位置:Gxlcms > 数据库问题 > MySQL存储过程

MySQL存储过程

时间:2021-07-01 10:21:17 帮助过:9人阅读

DELIMITER $$

语法说明如下:

  • $$ 是用户定义的结束符,通常这个符号可以是一些特殊的符号,如两个“?”或两个“¥”等。
  • 当使用 DELIMITER 命令时,应该避免使用反斜杠“\”字符,因为它是 MySQL 的转义字符。

三、调用存储过程:

       call 存储过程名[(传参)];
 

示例:

1、创建数据库,备份数据表用于示例操作:

mysql> create database db1;

mysql> use db1;

mysql> create table PLAYERS as select * from TENNIS.PLAYERS;

mysql> create table MATCHES as select * from TENNIS.MATCHES;

 

2、创建存储过程,删除给定球员参加的所有比赛:

      mysql> delimiter $$  #将语句的结束符号从分号;临时改为两个$$(可以是自定义)

mysql> CREATE PROCEDURE delete_matches(IN p_playerno INTEGER)

-> BEGIN

-> DELETE FROM MATCHES

-> WHERE playerno = p_playerno;

-> END$$ Query OK, 0 rows affected (0.01 sec)

mysql> delimiter;  #将语句的结束符号恢复为分号

 

3、调用存储过程

mysql> calldelete_matches(57);

 

四、存储过程的参数

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

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

  • IN 输入参数:表示调用者向过程传入值(传入值可以是字面量或变量)
  • OUT 输出参数:表示过程向调用者传出值(可以返回多个值)(传出值只能是变量)

INOUT 输入输出参数:既表示调用者向过程传入值,又表示过程向调用者传出值(值只能是变量)

MySQL存储过程

标签:运行   种类   $$   select   第一条   mat   use   ora   需要   

人气教程排行