Verification: 6ab19e626810e10c MSSQL Fonksiyon Kullanımı - Hikmet İSKİFOĞLU

MSSQL Fonksiyon Kullanımı

MSSQL Fonksiyon Kullanımı

Fonksiyon lar yazılımın her noktasında olduğu gibi veritabanlarına da mevcuttur. Bu yazıda MSSQL ‘de Fonksiyon kullanımını ele alıcaz.
Burada oluşturduğumuz fonksiyonları geliştirdiğimiz programlarda da çağırıp kullanabiliyor olmamız bizleri program geliştirirken oldukça rahatlatıyor. Fazla uzatmadan başlayalım.

Öncelikle bir iskelet fonksiyon tanımlayalım ve onu çağıralım. Buradaki fonksiyonlar bildiğimiz fonksiyonlara göre biraz farklı bir syntax’a sahip ona dikkat edelim.

/* 
1. Kısım
*/
create function topla(@x int , @y int)
/*
2. Kısım
*/
returns int
as
begin
/*
3. Kısım
*/
declare @z int= @y+@x
return  @z
end
  1. Kısım:
    Fonksiyonumuzu oluştururken alacağımız parametreler var ise parantez içine @ işareti ile değişkenimize bir isim veriyoruz sonra da bu değişkenin tipini belirtiyoruz.
  2. Kısım :
    Fonksiyonun döndüreceği değer tipini returns ile birlikte belirtiyoruz.
  3. Kısım:
    begin ve end arasına ise işleteceğimiz kodlarımızı yazıyoruz.
select dbo.topla(2,4) as Toplam

Fonksiyonumuzu çağırıkende select ile birlikte çağırıyoruz. dbo. fonksiyon adı ve aldığı parametreleri parantez içerisine yazıyoruz. String bir ifade yollamak istersek parantez içerisine tırnaklar içerisinde yollamalıyız. Sonrasında verdiğimiz as Toplam ifadesi ise ekrana verilen kolonun adını değiştirmemize yarıyor.

Şimdi ise bir string alıp o stringin tüm harflerini büyültüp ekrana döndüren bir fonksiyon yazalım.

create function buyut(@gelen varchar(25))
returns varchar (25)
as
begin
return upper(@gelen)
end
select dbo.buyut ('kucuk harflerle yazdim') as [Büyütülmüş Hali]
Ekran çıktısı

Şimdi ise bir sql sorgusunun sonucunu döndürelim. Fonksiyona bir ürün id si gönderip bu id’ye sahip olan ürünün adını döndürelim.

create function urunGetir(@gelen int)
returns varchar(max)
as 
begin
return (select ProductName from Products where ProductID=@gelen)
end

return edilecek olan veri bir sorgu sonucu olduğu için parantez içine almamız gerekiyor.

select dbo.urunGetir(2) as UrunAdi

Tüm ürünlerin id sini gönderip isimlerini de döndürebiliriz.

select dbo.urunGetir(ProductID) from Products

Tablo döndürmek için returns kısmına ‘TABLE’ yazıyoruz ve begin ile end kısmını siliyoruz. Kategori id si verilen ürünlerin adlarını ve kategori id lerini döndüren bir fonksiyon yazalım.

create function urunler(@gelen int)
returns Table
as
return (select ProductName,CategoryID from Products where CategoryID=@gelen)

Şimdide kategori id’si 1 olan ürünlerin adlarını ve kategori id lerini getirelim.

select  * from dbo.urunler(1)

İstersek burada select * from yerine select productName de yazabilirdik bu şekilde hem fonksiyonda hemde fonksiyonu çağırırken görüntülenecek kolonları filtrelemiş oluyoruz.

Önerilen Yazı :  MSSQL İnner Join

Şimdi ise kullanıcı girişini kontrol eden bir fonksiyon yazalım. Fonksiyona yolladığımız kullanıcı adı ve şifreyi kontrol edip öyle bir kullanıcı varsa kullanının adını yoksa null döndüren fonksiyonu yazalım.

create function kullaniciAdim(@nick varchar(20),@pass varchar(20))
returns varchar(20)
as
begin
declare @adi varchar(20)=(select userName+' '+userSurname users where userNickname=@nick and userPassword=@pass)
return @adi
end
select dbo.kullaniciAdim('hiko','12345') as Hosgeldin

Burada bildiğimiz while, if gibi döngüleri , matematik fonksiyonları vs. küçük syntax farklarıyla kullanabiliyoruz. İhtiyacınız olan fonksiyonların kullanımlarına Sql Server Tutorial ‘dan ulaşabilirsiniz.

Total Page Visits: 764 - Today Page Visits: 2

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir