Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak utworzyć kolumnę obliczeniową w tabeli SQL Server 2008

Możesz owinąć zapytanie w tę funkcję w ten sposób (MAMA aby zwrócić jedną wartość):

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

I użyj tej funkcji zamiast pola obliczeniowego - coś takiego:

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

UWAGA

że będzie zabójcą wydajności dla takich zapytań:

select * from ManagerTaLog 

Powinieneś zmienić swoją funkcję w taki sposób, to znaczy zaakceptować NIE varchar wartość, ale NVARCHAR(255) - ten sam typ co kolumna Manager. Wypróbuj.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java SQL Server 2012 Nie można otworzyć błędu bazy danych

  2. Jak naprawić „Serwer nie jest skonfigurowany do dostępu do danych” w SQL Server

  3. Użyj programu Excel 2010 do odczytu/zapisu w bazie danych SQL Server 2008 przy użyciu procedur składowanych

  4. Dostaję komunikat Podjęto próbę załadowania programu z niepoprawnym błędem formatu w projekcie replikacji programu SQL Server

  5. Ukrywanie baz danych do logowania w Microsoft Sql Server 2008R2 i nowszych