5.00 / 1 oy

Sql Server'da Başka Bir Tablodan Hesaplanmış Sütun Eklemek

Sql Server'da bir tablonun sütunlarındaki verileri kullanarak hesaplanmış sütun ekleyebiliyoruz, bunun için örneğin fiyat ve adet bilgileri olan bir ürün satışları tablosunda satır toplam adında bir hesaplanmış sütun eklemek için:

CREATE TABLE dbo.UrunSatislari
   (
      Id int IDENTITY (1,1) NOT NULL,
      Adet int,
      Fiyat float,
      SatirToplam AS Fiyat * Adet
    );

Peki ya bir tabloda sipariş kalemlerini, diğer tabloda da sipariş bilgilerini (kullanıcı, tarih, toplam vb) tutuyorsak nasıl hesaplanmış sütun ekleyebiliriz? Bu işlem için fonksiyon kullanabiliyoruz.

Önce fonksiyonu yazalım:

CREATE FUNCTION [dbo].[fn_SiparisToplam] (@SiparisId int)  
RETURNS float
AS  
BEGIN  
    DECLARE @toplam float;
    SELECT @toplam = sum(adet*fiyat)
    FROM SiparisKalemleri
    WHERE siparisID = @SiparisId; 
    RETURN @toplam;
END;
GO

Şimdi de hesaplanmış sütun olarak siparişler tablosuna toplam sütunu ekleyelim.

ALTER TABLE Siparisler
ADD Toplam AS dbo.fn_SiparisToplam(Id);

Bu işlem sonucunda artık siparişe ürün ekleme ya da çıkarma işlemi yaptığımızda fiyatı güncellememize gerek kalmayacak çünkü güncel sipariş kalemlerine bakılarak sürekli güncel değer hesaplanarak aktarılmış olacak.

kaanbey

30.07.2020 08:31

Bu soru 2 kez yanıtlandı.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Sql Server'da Başka Bir Tablodan Hesaplanmış Sütun Eklemek

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.