Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como criar uma coluna calculada em uma tabela do SQL Server 2008


Você pode envolver sua consulta na função assim (ela TEM para retornar um valor):
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

E use esta função com o campo calc - algo assim:
alter table ManagerTaLog add WeeklyBudget as dbo.SumIt(Key1)

OBSERVAÇÃO

que será o assassino de desempenho para consultas como essa:
select * from ManagerTaLog 

Você deve alterar sua função de forma que aceite NÃO varchar valor, mas NVARCHAR(255) - o mesmo tipo da coluna Manager. Tente.