sql >> Database teknologi >  >> RDS >> Sqlserver

Kan ikke finde hverken kolonne "dbo" eller den brugerdefinerede funktion eller aggregerede "dbo.FN_Split", eller navnet er tvetydigt

Først skal du sikre dig, at du kørte oprettelsesscriptet i den korrekte database.

For det andet, som @astander begyndte at nævne, bruger du funktionsresultaterne forkert.

Din funktion returnerer en tabel, ikke en værdi. Du bliver nødt til at udføre funktionen som en del af dine sql-sætninger, ikke under din opbygning af ad hoc-forespørgsler. For eksempel denne kode:

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

ville blive:

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

Foretag lignende ændringer overalt, hvor du i øjeblikket refererer til funktionen.



  1. Konverteringen af ​​varchar-værdien løb over en int-kolonne

  2. Ændring af et Enum-felt ved hjælp af Alembic

  3. Oracle.ManagedDataAccess med Oracle 8.1.7 DB

  4. Findes der en utf8_unicode_cs-sortering?