La asignación de variables definidas por el usuario en función de los resultados de la consulta mejora las capacidades de manipulación de la base de datos. Este artículo explora un método para lograr esto en MySQL sin recurrir a consultas anidadas.
Contrariamente a la creencia popular, la asignación de variables de usuario se puede integrar directamente en las consultas. El operador de asignación para declaraciones SET es = o :=. Sin embargo, := debe usarse dentro de otras declaraciones, ya que = está reservado para comparaciones.
Para ilustrar esta técnica, supongamos que USUARIO y GRUPO son únicos. La siguiente secuencia de consulta muestra la funcionalidad:
SET @user := 123456; SELECT @group := `group` FROM USER WHERE user = @user; SELECT * FROM USER WHERE `group` = @group;
Usando una tabla de muestra con los siguientes datos:
CREATE TABLE user (`user` int, `group` int); INSERT INTO user VALUES (123456, 5); INSERT INTO user VALUES (111111, 5);
La consulta arroja el siguiente resultado:
-------- ------- | user | group | -------- ------- | 123456 | 5 | | 111111 | 5 | -------- -------
Como alternativa, se puede emplear la siguiente sintaxis:
SET @user := 123456; SELECT `group` FROM user LIMIT 1 INTO @group; SELECT * FROM user WHERE `group` = @group;
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3