sql >> Database >  >> RDS >> Sqlserver

Kan geen kolom "dbo" of de door de gebruiker gedefinieerde functie of aggregaat "dbo.FN_Split" vinden, of de naam is dubbelzinnig

Zorg er eerst voor dat je het aanmaakscript in de juiste database hebt uitgevoerd.

Ten tweede, zoals @astander begon te vermelden, gebruik je de functieresultaten verkeerd.

Uw functie retourneert een tabel, geen waarde. U moet de functie uitvoeren als onderdeel van uw sql-instructies, niet tijdens het maken van ad-hocquery's. Bijvoorbeeld deze code:

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

zou worden:

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

Breng vergelijkbare wijzigingen aan overal waar u momenteel naar de functie verwijst.



  1. MySQL:Hoe maak je een trigger die minderjarige werknemers afwijst?

  2. SQL zoeken naar meerdere waarden in hetzelfde veld

  3. MySQL ALTER TABLE op een zeer grote tafel - is het veilig om het uit te voeren?

  4. Waarom voegt TO_CHAR spatie toe (één wit teken) aan het begin van een getal?