Avalados por :

Cómo obtener un único valor de una consulta en MySQL Workbench

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 6 Vistas
0
Loading...

Hola

He intentado varias formas de obtener un único valor de una consulta MII-SQL.

Tipos de consulta que he probado:

estática, con salida y comando.

Esto funciona en MySQL Workbench:

CALL storedProcedure1(@val);

SELECT @val;

Definición de procedimiento almacenado en el servidor MySQL:

CREATE DEFINER=`yo`@`localhost` PROCEDURE `storedProcedure1`(

OUT js_txt_file LONGTEXT

)

BEGIN

SET js_txt_file = "bla";

END

Todas las soluciones para MS-SQL y Oracle parecen no funcionar.

¡Gracias por tu apoyo!

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

2 Respuestas

0
Loading...

Supongo que tu consulta es compleja, por lo que querías usar un procedimiento almacenado en lugar de una declaración SELECT directamente dentro de una consulta SQL MII. Quizás lo siguiente te ayude con este problema.

Crea una consulta SQL MII que utilice una "consulta fija" que ejecute tu procedimiento almacenado. "exec storedProcedure1" (no estoy seguro de qué hace tu @val), no es necesario al llamar a un procedimiento almacenado desde una consulta SQL MII.

Aquí tienes un ejemplo de declaración SELECT en el procedimiento almacenado:

select distinct value from [nombre de la base de datos].[dbo].[nombre de la tabla].[nombre de la columna] where [seleccionar de nombre de columna] = 'VALOR_A_SELECCIONAR'

Los "Detalles de Consulta Fija" de la consulta SQL MII se verían así:

exec storedProcedure1

En tu Transacción MII: Arrastra tu nueva consulta SQL MII a un bloque de secuencia vacío. El siguiente bloque de secuencia debe contener un bloque de acción donde asignarás los resultados del bloque precedente, almacenando así los resultados del procedimiento almacenado ejecutado en una variable local o de transacción.

Al configurar la Variable de Transacción asegúrate de seleccionar que es un "Parámetro de Salida" de tipo de datos "String" o lo que estés devolviendo.

En el bloque de Asignación que sigue directamente a tu bloque SQLQuery, utiliza LinkType=Asignar Valor y la asignación se verá similar a la siguiente.

Transacción.WSServer

SQL_Select_server_name.Results{/Rowsets/Rowset/Row/value}

Gracias, Rene

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Loading...

La solución fue:

No coloques ambas declaraciones en una sola consulta SQL.

Sino crea dos cajas de consulta SQL que contengan exactamente una declaración (una para la llamada y otra con el "select @val").

Luego copia la salida de "Resultado" de la segunda a tu destino preferido.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?