Procedimiento almacenado de MySQL in, out, inout ejemplos de parámetros y resumen

Procedimiento almacenado

1. Cree un procedimiento almacenado y vea las variables globales

mysql> create database yy;
Query OK, 1 row affected (0.00 sec)

mysql> use yy;
Database changed
mysql> set @num1=10,@num2=20,@num3=30;	//设置全局变量
mysql> delimiter $$
mysql> create procedure p(in num1 int,out num2 int,inout num3 int)
    -> begin
    -> select num1,num2,num3;
    -> set num1=100,num2=200,num3=300;
    -> select num1,num2,num3;
    -> end $$
Query OK, 0 rows affected (0.00 sec)

mysql> delimiter ;
mysql> call p(@num1,@num2,@num3);

Inserte la descripción de la imagen aquí
Resumen 1:

  • Los parámetros in e inout pasan el valor de la variable global al procedimiento almacenado y el parámetro out no pasa el valor de la variable global al procedimiento almacenado. En el uso del procedimiento almacenado, los valores de los parámetros in, out e inout cambiarán.

2. Cambios en los valores de las variables globales al llamar a un procedimiento almacenado

mysql> select @num1,@num2,@num3;

Inserte la descripción de la imagen aquí
Resumen 2:

  • Cuando se llama al procedimiento almacenado, se encuentra que el parámetro in no cambiará el valor de la variable global, y los parámetros out e inout cambiarán el valor de la variable global después de que se llame al procedimiento almacenado, y el valor después de la La referencia de procedimiento almacenado se asignará a las variables globales.
  • El tipo de parametrización in puede ser una variable y un valor fijo, mientras que los tipos de parametrización out e inout deben ser variables.

Supongo que te gusta

Origin blog.csdn.net/weixin_42449832/article/details/111727599
Recomendado
Clasificación