Avalados por :

Como obter um único valor de uma consulta no MySQL Workbench

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

Olá

Tenho tentado várias maneiras de obter um único valor de uma consulta MII-SQL.

Tipos de consulta que experimentei:

estática, com saída e comando.

Isso funciona no MySQL Workbench:

CALL storedProcedure1(@val);

SELECT @val;

Definição do procedimento armazenado no servidor MySQL:

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

OUT js_txt_file LONGTEXT

)

BEGIN

SET js_txt_file = "bla";

END

Todas as soluções para MS-SQL e Oracle parecem não funcionar.

Obrigado pelo seu apoio!

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

2 Respuestas

0
Loading...

Suponho que a tua consulta é complexa, por isso querias usar um procedimento armazenado em vez de uma declaração SELECT diretamente dentro de uma consulta SQL MII. Talvez o seguinte possa ajudar com este problema.

Cria uma consulta SQL MII que utilize uma "consulta fixa" que execute o teu procedimento armazenado. "exec storedProcedure1" (não tenho a certeza do que o @val faz), não é necessário ao chamar um procedimento armazenado a partir de uma consulta SQL MII.

Aqui tens um exemplo de declaração SELECT no procedimento armazenado:

select distinct value from [nome da base de dados].[dbo].[nome da tabela].[nome da coluna] where [selecionar de nome da coluna] = 'VALOR_A_SELECIONAR'

Os "Detalhes da Consulta Fixa" da consulta SQL MII ficariam assim:

exec storedProcedure1

Na tua Transação MII: Arrasta a tua nova consulta SQL MII para um bloco de sequência vazio. O bloco de sequência seguinte deve conter um bloco de ação onde vais atribuir os resultados do bloco anterior, armazenando assim os resultados do procedimento armazenado executado numa variável local ou de transação.

Ao configurar a Variável de Transação, certifica-te de selecionar que é um "Parâmetro de Saída" do tipo de dados "String" ou o que estiveres a devolver.

No bloco de Atribuição que segue diretamente o teu bloco SQLQuery, utiliza LinkType=Atribuir Valor e a atribuição será semelhante à seguinte.

Transação.WSServer

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

Obrigado, Rene

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

A solução foi:

Não coloque ambas as declarações em uma única consulta SQL.

Em vez disso, crie duas caixas de consulta SQL contendo exatamente uma declaração (uma para a chamada e outra com o "select @val").

Em seguida, copie a saída do "Resultado" da segunda para o seu 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?