Sql Server

Sql Server Değişkenler

Herkese merhaba, Sql Server yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda Sql Server’da değişkenleri anlatacağım. Hadi başlayalım !

Değişkenler, içerisinde veri tutan ve bellekte tutulan programlama dili tanımlarıdır ve belkide bütün programlama dillerinde bulunur. Örneğin kullanıcıdan aldığınız veriyi bir değişkene atayarak kullanıcının ne girdiğini bilmeden bile o veri üzerinde işlem yapabilirsiniz. Yada bir veritabanı bağlantısı kurarak bağlantı cümlesini bir değişkene atayarak o değişken üzerinden veritabanı işlemleri yapabilirsiniz. Sql Server’da da değişkenler bulunmakta ve hem dışarıdan veri almak, hem dışarıya veri göndermek hemde fonksiyonlar, stored procedureler hemde doğrudan bir Sql komutu içerisinde değişken oluşturabilirsiniz.

Sql Server’da değişken oluşturmak için declare anahtar kelimesi kullanılıyor ve bu kelimeden sonra başında @ işareti olacak şekilde değişken adını ve sonrasında as anahtar kelimesi ve veritipini yazarak değişken oluşturabiliyorsunuz. Buradaki veritipi, değişkenin tutacağı verinin tipi oluyor. Yani mesela metinsel birşey tutacaksanız varchar, char, text gibi metinsel veritipleri, sayı tutacaksanız int, smallint, bigint gibi sayısal veritipleri vermeniz gerekiyor. Bir değişkene veri atamak için de set komutu kullanılıyor ve bu komuttan sonra değişkene veri atayabiliyorsunuz. Örneğin websitesi adında bir değişken oluşturalım ve bu değişkene Softwaresup değerini atayalım.

declare @websitesi as varchar;
set @websitesi = 'Softwaresup';

Burada dikkat etmemiz gereken, değişkenin değeri değişkeni oluştururken belirttiğimiz veritipine uygun olmalı, farklı veritipinde veri ataması yapmaya çalışırsanız hata alırsınız. Yani @websitesi değişkenini varchar olarak belirledik ve değer atarken de varchar olarak atama yaptık. Eğer sayısal bir veri atasaydık hata alacaktık. Ayrıca atama yapacağımız veriyi veritipine uygun olarak yazmamız gerekiyor. Yani metinsel bir veritipi belirlediysek atama yapacağımız veriyi de metinsel olarak yazmamız, yani tırnak işareti içerisinde yazmamız gerekiyor.

Artık oluşturulan bu değişkeni sorgularımızda kullanabiliriz. Fakat değişkenler oluşturulduktan sonra o kod içerisinde kullanılabilir. Yani örneğin bir değişken oluşturdunuz ve bir Sql sorgusu içerisinde kullandınız. Başka bir sorgu daha göndermek istediğinizde değişkeni tekrardan oluşturmanız gerekmekte. Fakat sıralı sorgular içerisinde tekrardan oluşturmadan da kullanabilirsiniz. Yani örneğin değişken oluşturdunuz, bir tane select sorgusu, bir tane insert sorgusu ve bir tane de update sorgusunu tek seferde göndermek isterseniz bu durumda bir kere oluşturmanız yetiyor fakat değişkeni oluşturdunuz ve bir tane select sorgusu çalıştırdınız. Sonrasında kullandığınız programlama dilinde birşeyler yaptınız ve bir tane de update sorgusu çalıştırmak istediğinizde artık oluşturduğunuz değişkene ulaşamazsınız çünkü o değişken select sorgusu içerisinde kaldığı için ulaşılamaz durumda olacaktır, dolayısıyla update sorgusunda hata alacaksınız.

Oluşturduğunuz bir değişkeni where filtresi içinde kullanabilirsiniz. Örneğin select ile bir tablodaki verileri where ile filtreleyerek getirmek istiyorsunuz, bu durumda oluşturduğunuz değişkeni where filtresi içinde değer olarak yazabilirsiniz. Örneğin varchar tipte kitapAdi sütunu bulunan kitaplar tablomuz olduğunu varsayalım. Bu tablo içerisinde bir filtreleme yapalım ve bu filtrelemeyi de oluşturduğumuz kitapAdi değişkeni üzerinden yapalım. Yani şunun gibi bir Sql kodu yazmamız gerekiyor;

declare @kitapAdi as varchar;
set @kitapAdi = 'Sefiller';
select * from kitaplar where kitapAdi=@kitapAdi;

Değişkeni sadece select değil, update ve delete içinde de where filtresi olarak yazabiliriz. Ayrıca insert sorgularında sütun değeri olarakta yazabiliriz. Bunlar içinde şöyle örnekler yapalım;

declare @kitapAdi as varchar;
set @kitapAdi = 'Sefiller';
update kitaplar set kitapAdi=@kitapAdi;
delete from kitaplar where kitapAdi=@kitapAdi;
insert into kitaplar(kitapAdi) values(@kitapAdi);

Aslında değişkenler bu şekilde doğrudan Sql kodu içerisinde yazılmayıp, fonksiyon ve stored procedureler içinde kullanılmakta. Hem fonksiyon hemde stored procedureler dışarıdan veri alabildiği için alınacak veriler değişkenler üzerinden yapılmakta. Zaten bildiğimiz programlama dillerinde de kullanıcıdan bir veri almak istediğimizde aldığımız veriyi bir değişkene atıyoruz. Yada bir fonksiyon oluştururken istediğimiz parametreler birer değişken olmakta ve fonksiyonu çağırırken istediği değişkenlere veri atarak çağırıyoruz. Aynı şekilde Sql Server’da da bir fonksiyon yada stored procedure oluştururken parametre olarak değişkenler istiyor ve fonksiyonu yada stored procedureyi çağırırken de istediği değişkenlere veriler göndererek çağırıyoruz. Daha önce fonksiyon ve stored procedure yazmayı anlattığım için şu an o konulara girmeyeceğim.

Evet Sql Server’da değişken oluşturma ve kullanma bu şekilde yapılmakta. Tüm Sql Server yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu