sql >> Database >  >> RDS >> Sqlserver

Een berekende kolom maken in een SQL Server 2008-tabel

U kunt uw zoekopdracht als volgt in de functie inpakken (het HEEFT om één waarde terug te geven):

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

En gebruik in plaats daarvan deze functie met het calc-veld - zoiets als dit:

alter table ManagerTaLog add WeeklyBudget as dbo.SumIt(Key1)

OPMERKING

dat het de prestatiemoordenaar zal zijn voor dergelijke vragen:

select * from ManagerTaLog 

Je moet je functie op zo'n manier veranderen, dat is accepteren NIET varchar waarde, maar NVARCHAR(255) - hetzelfde type als kolom Manager. Probeer het.



  1. Wijzig een MySQL-kolom in AUTO_INCREMENT

  2. SQL Server-trigger:inzicht en alternatieven

  3. VBA-oproepfunctie via VBA en ADO

  4. Scripts genereren om beperkingen voor externe sleutels in SQL Server-database opnieuw te maken - SQL Server / TSQL-zelfstudie, deel 73