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

Sådan opretter du en beregnet kolonne i en SQL Server 2008-tabel

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.



  1. Sådan opretter du en offline internationaliseringsapp:Understøtter flere sprog

  2. Postgresql indsæt trigger for at sammenkæde

  3. Godkendelsesmetoden 'mysql_old_password' understøttes ikke

  4. Java2MySQL> Kommunikationsforbindelsesfejl på grund af underliggende undtagelse igen