none
Comando SQL com tipos de colunas incompatíveis RRS feed

  • Pergunta

  • Viva comunidade!

    Estou com uma dúvida aquando da criação de um comando sql recursivo.

    O erro apresentado é:

    Msg 240, Level 16, State 1, Procedure verificarAusencia6Meses, Line 6
    Types don't match between the anchor and the recursive part in column "n_dias_falta" of recursive query "EmpregadosAusentes".

    O comando sql:

    CREATE FUNCTION verificarAusencia6Meses(
    @numero_empregado INT)
    RETURNS TABLE
    AS
    RETURN(
    WITH EmpregadosAusentes (num, dat, dat_fal, n_dias_falta)  /* erro aqui pois a coluna n_dias da tabela falta é decimal,2 */
    AS
    (
    SELECT numero, data, data_falta, n_dias
    FROM falta
    WHERE data_falta=(select MIN(data_falta) from falta where numero=@numero_empregado)
    UNION ALL
    SELECT f.numero, f.data, f.data_falta, r.n_dias_falta + f.n_dias
    FROM falta f
    INNER JOIN EmpregadosAusentes r
    ON f.data_falta + f.n_dias =r.dat_fal
    )
    SELECT
    num as numero_funcionario, n_dias_falta
    FROM EmpregadosAusentes
    )

    Visto que n_dias apesar de ser decimal,2     e.g. 9.00 tem sempre valor nulo nas casas decimais tentei CONVERT(int, n_dias) durante o SELECT mas sem sucesso. 

    Cumps


    sábado, 6 de setembro de 2014 14:24

Respostas