Saltar al contenido

La función de creación debe ser la única declaración en el lote.

Solución:

La función debe ser la única función en la ventana de consulta O la única declaración en el lote. Si hay más declaraciones en la ventana de consulta, puede convertirla en la única “en el lote” rodeándola con GO.

p.ej

GO
CREATE FUNCTION getLavel(@id int ,@lavel char)
RETURNS date
BEGIN
 DECLARE @date date
    select @date = (select authorization_date from Authorized WHERE     diver_number = @id and @lavel =level_name)
    return @date
END
GO

Convierta esto en una función con valores de tabla en línea. Esto funcionará mejor que la función escalar. Además, NO debe utilizar los tamaños predeterminados para los tipos de datos de caracteres. ¿Sabes cuál es la longitud predeterminada de un carácter? ¿Sabías que puede variar según el uso?

CREATE FUNCTION getLavel
(
    @id int
    , @lavel char --You need to define the length instead of the default length
) 
RETURNS table
return 
    select authorization_date 
    from Authorized 
    WHERE diver_number = @id 
        and @lavel = level_name

GO

Debe agregar RETURN antes de la instrucción END

Eso debería solucionar tu problema, eso es lo que solucionó el mío. 😀

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *