Du kan pakke din forespørgsel ind i funktionen på denne måde (den HAR for at returnere én værdi):
CREATE FUNCTION dbo.SumIt(@Key1 varchar(max))
returns float
as
begin
return (select sum(UTOTALWBUD) from
CONTACT1 inner join
CONTACT2 on
CONTACT1.ACCOUNTNO=CONTACT2.ACCOUNTNO
where [email protected]
group by KEY3)
END
Og brug i stedet denne funktion med calc field - sådan noget som dette:
alter table ManagerTaLog add WeeklyBudget as dbo.SumIt(Key1)
BEMÆRK
at det vil være præstationsdræberen for forespørgsler som den:
select * from ManagerTaLog
Du bør ændre din funktion på en sådan måde, at acceptere IKKE varchar
værdi, men NVARCHAR(255)
- samme type som Manager kolonne. Prøv det.