Directorio de artículos
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);
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;
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.