SQL Server - Valor devuelto por un procedimiento almacenado

   
Vista:

Valor devuelto por un procedimiento almacenado

Publicado por Juanma (2 intervenciones) el 16/10/2012 14:23:35
Muy buenas a todos,
tengo un problema al llamar a un procedimiento almacenado anidado. Intento explicarme.

Creamos un primer procedimiento:

create procedure proc_prueba1 as
select 'valor devuelto prueba1' as result

Creamos un segundo procedimiento que llama al primero:
create procedure proc_prueba2 as
declare @result1 nvarchar(50)
exec @result1 = proc_prueba1
select 'valor devuelto prueba2' as resultado

Si ahora desde java llamamos al segundo procedimiento:
rSet_source = stmt.executeQuery("exec proc_prueba2");
while (rSet_source.next()) {
resultado = rSet_source.getString("resultado");
}

nos da un error porque no encuentra la variable resultado de sql server. Y es debido a que si ejecutamos desde SQL el proc_prueba2, el resultado obtenido es:
result
valor devuelto prueba1
resultado
valor devuelto prueba2

con lo que el primer valor que encuentra java es result, y no resultado.
¿Como se puede hacer que el segundo procedimiento solo devuelva el segundo valor sin tener que modificar el primer procedimiento?

Gracias a todos de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Valor devuelto por un procedimiento almacenado

Publicado por Isaias (3180 intervenciones) el 16/10/2012 17:13:19
El segundo procedure, solo te devuelve un resultado, la combinacion de ambos, es que te devuelve 2 resultados.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Valor devuelto por un procedimiento almacenado

Publicado por Juanma (2 intervenciones) el 16/10/2012 18:29:37
A eso me refiero. Que como me devuelve la combinación de ambos procedures, es decir, los 2 resultados, java sólo recoge el primer resultado, o sea result.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar