variable valor procedimientos procedimiento parametros ejemplos ejecutar asignar almacenados almacenado sql mysql stored-procedures sql-function

valor - MySQL: seleccionando múltiples campos en múltiples variables en un procedimiento almacenado



procedimientos almacenados sql ejemplos (3)

========== Aconseja ==========

@martin clayton La respuesta es correcta, pero esto es solo un consejo.

Evite el uso de variables ambiguas en el procedimiento almacenado.

Ejemplo:

SELECT Id, dateCreated INTO id, datecreated FROM products WHERE pName = iName

El ejemplo anterior causará un error (error de valor nulo)

Ejemplo de dar a continuación es correcto. Espero que esto tenga sentido.

Ejemplo:

SELECT Id, dateCreated INTO val_id, val_datecreated FROM products WHERE pName = iName

También puede hacerlos inequívocos haciendo referencia a la tabla, como:

[Crédito: maganap ]

SELECT p.Id, p.dateCreated INTO id, datecreated FROM products p WHERE pName = iName

¿PUEDO SELECCIONAR varias columnas en múltiples variables dentro de la misma consulta de selección en MySQL?

Por ejemplo:

DECLARE iId INT(20); DECLARE dCreate DATETIME; SELECT Id INTO iId, dateCreated INTO dCreate FROM products WHERE pName=iName;

¿Cuál es la sintaxis correcta para esto?


Alternativamente a la respuesta de Martin, también puede agregar la parte INTO al final de la consulta para hacer que la consulta sea más legible:

SELECT Id, dateCreated FROM products INTO iId, dCreate


Su syntax no es correcta: debe listar los campos en orden antes del INTO y las variables de destino correspondientes después de:

SELECT Id, dateCreated INTO iId, dCreate FROM products WHERE pName = iName