sql >> Base de Datos >  >> RDS >> Sqlserver

No se puede encontrar la columna "dbo" o la función definida por el usuario o el agregado "dbo.FN_Split", o el nombre es ambiguo

Primero, asegúrese de ejecutar el script de creación en la base de datos correcta.

En segundo lugar, como @astander comenzó a mencionar, está utilizando los resultados de la función de forma incorrecta.

Su función devuelve una tabla, no un valor. Deberá ejecutar la función como parte de sus instrucciones SQL, no durante la creación de consultas ad hoc. Por ejemplo, este código:

 set @[email protected]+'UNION select items from'+ dbo.FN_Split(@p_SourceText,
                  @p_Delimeter)+' where orderId ='[email protected]+')'

se convertiría en:

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

Realice cambios similares en todos los lugares donde actualmente hace referencia a la función.