23 Şubat 2016 Salı

SQL Functions ---- Table -valued Functions (SQL de Tablo Döndüren Fonksiyon Oluşturma)



CREATE FUNCTION [dbo].[EkstraYevmiye](@ilkTarih datetime,@sonTarih datetime,@personelId int) -- Oluşturulan fonksiyona talep edilecek parametreleri belirtiyorsunuz.
RETURNS @TABLO TABLE 
(
 PerId int, -- tablo döndürecek fonksiyonun sütun adı ve türlerini belirtiyorsunuz.
 Toplam int , -- tablo döndürecek fonksiyonun sütun adı ve türlerini belirtiyorsunuz.
 Puantaj float -- tablo döndürecek fonksiyonun sütun adı ve türlerini belirtiyorsunuz.
)
AS

BEGIN
--Dönecek tablonun içerisinde nelerin olacağını bu kısımda belirtiyorsunuz.

declare @i int = day(@sonTarih) - day(@ilkTarih) + 1 
declare @gun int = day(@sonTarih)
while @i>0
BEGIN
insert into @TABLO 
select distinct fkPersonelId, count(*), (case count(*) when 0 then 0 else (count(*)-1)/2.0 end) 
from tblPdksCihazLog
where day(Tarih) = @gun and fkpersonelId = @personelId
group by fkPersonelId
set @gun = @gun - 1
set @i = @i - 1
END
--Dönecek tablonun içerisinde nelerin olacağını bu kısıma kadar devam ediyor.
RETURN --Tabloyu döndürme komutunu veriyoruz.
END -- İşlemimiz tamamlanmaktadır.


Çalıştırmak istediğiniz zaman ise ;
(select sum(Puantaj) from EkstraYevmiye (parametre1,parametre2,parametre3)
İyi çalışmalar...

Share this post
  • Share to Facebook
  • Share to Twitter
  • Share to Google+
  • Share to Stumble Upon
  • Share to Evernote
  • Share to Blogger
  • Share to Email
  • Share to Yahoo Messenger
  • More...

0 yorum

:) :-) :)) =)) :( :-( :(( :d :-d @-) :p :o :>) (o) [-( :-? (p) :-s (m) 8-) :-t :-b b-( :-# =p~ :-$ (b) (f) x-) (k) (h) (c) cheer

 
© 2013 Saygınlık Bilgelikte Gizlidir
Designed by Blog Thiet Ke
Posts RSSComments RSS
Yukarı