none
Puedo devolver en un Print de un procedure una consulta ? RRS feed

  • Pregunta

  • Mi duda es la del titulo, quiero devolver en un print una consulta, o no se si eso es posible...Me piden lo siguiente:

    ----Seleccionar los barcos que salieron en una fecha determinada.

    y mi intento de procedure es:

    create procedure SP_FechaDeterminada(@fecha date)
    as 
    begin
    
    declare @NombreBarco varchar(300)
    
    if(select Fecha from Salida) = @fecha
    	begin 
    
    	while(@fecha = select Fecha from Salida)--Aca sucede el error, en el select
    	    begin
    			print Barco.Nombre
    		end
    	end
    else 
    	begin 
    		print 'Esta fecha es invalida'
    	end
    end 


    cervera

    sábado, 14 de septiembre de 2019 15:44

Respuestas

  • La solución para que no suceda el error es añadir paréntesis:

    while(@fecha = (select Fecha from Salida))

    Pero me imagino que faltan muchas otras cosas que has omitido al poner el código del procedimiento. De lo contrario el While será un bucle infinito porque dentro no cambias nada de la fecha ni del select. Y también intentas hacer un print de Barco.Nombre y en ningún sitio has definido qué es Barco.

    • Marcado como respuesta Nicolás Cervera domingo, 15 de septiembre de 2019 3:16
    sábado, 14 de septiembre de 2019 21:24

Todas las respuestas

  • La solución para que no suceda el error es añadir paréntesis:

    while(@fecha = (select Fecha from Salida))

    Pero me imagino que faltan muchas otras cosas que has omitido al poner el código del procedimiento. De lo contrario el While será un bucle infinito porque dentro no cambias nada de la fecha ni del select. Y también intentas hacer un print de Barco.Nombre y en ningún sitio has definido qué es Barco.

    • Marcado como respuesta Nicolás Cervera domingo, 15 de septiembre de 2019 3:16
    sábado, 14 de septiembre de 2019 21:24
  • Hola, funciono!..Si omití parte del código por lo que no me funcionaba al estar ese error..Muchas gracias !

    cervera

    domingo, 15 de septiembre de 2019 3:17