Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Não é possível encontrar a coluna “dbo” ou a função definida pelo usuário ou agregada “dbo.FN_Split”, ou o nome é ambíguo


Primeiro, verifique se você executou o script de criação no banco de dados correto.

Segundo, como @astander começou a mencionar, você está usando os resultados da função incorretamente.

Sua função retorna uma tabela, não um valor. Você precisará executar a função como parte de suas instruções sql, não durante a compilação de consultas ad hoc. Por exemplo, este código:
 set @[email protected]+'UNION select items from'+ dbo.FN_Split(@p_SourceText,
                  @p_Delimeter)+' where orderId ='[email protected]+')'

se tornaria:
set @sql = @sql+'UNION select items from dbo.FN_Split(' + @p_SourceText +', ' +
                  @p_Delimeter + ') where orderId =' + @i + ')'

Faça alterações semelhantes em todos os lugares em que você estiver referenciando a função.