1 / 37

SQL de Değişken T anımlama

SQL de Değişken T anımlama. Değişken Tanımlama. Değişken en basit tanımı ile bir verinin saklanmasında kullanılan hafıza alanıdır. Değişkene atanan her yeni değer eskini siler. SQL Server'da değişkenler  DECLARE  ifadesi kullanılarak oluşturulurlar. Değişken İsimlendirme Kuralları.

elle
Télécharger la présentation

SQL de Değişken T anımlama

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL de Değişken Tanımlama

  2. Değişken Tanımlama • Değişken en basit tanımı ile bir verinin saklanmasında kullanılan hafıza alanıdır. Değişkene atanan her yeni değer eskini siler. • SQL Server'da değişkenler DECLARE ifadesi kullanılarak oluşturulurlar.

  3. Değişken İsimlendirme Kuralları • Nesne veya değişkene bir isimlendirme yaparken aşağıdaki kurallara dikkat etmelisiniz: • Harf veya alt çizgi (_) ile başlamalıdır. • Türkçe karakterler ve boşluk isimlendirmede kullanılmamalıdır. • Değişken ismi SQL’de özel anlamı olan sembollerle (@, @@, #, ##, $) başlamamalıdır. • T-SQL komutları değişken ismi olarak verilmemelidir (SELECT, UPDATE vb). • SQL ifadeleri prensip olarak büyük harfle yazılır. • Nesne isimleri kısa ve anlamlı olmalıdır. • Nesne isimlendirilirken işlerin kolaylaştırılması açısından tekil isim tercih edilmelidir (TabloOgrenciler yerine tblOgrenci gibi). • NULL terimi, daha önce hiçbir şey girilmemiş (değersiz) anlamındadır. • Klavyedeki SPACE (ASCII 32) tuşu ile NULL aynı değerleri içermez. NULL boş veya bilinmeyen değerler için kullanılır.

  4. Değişken Tanımlama DECLARE @değişken_adı veri_türü ifadesi ile bir değişken tanımlıyoruz. declare @sayi1 intdeclare @ad varchar(15)declare @soyad varchar(25) Sayi1 isimli int tipinde bir değişken tanımlamış olduk. Tek satırda birden fazla değişkende tanımlayabiliriz. declare @n1 int, @n2 int, @ort float Tek satırda n1,n2 ve ort isimlerinde değişken tanımlamış olduk. Değişken tanımlarken @ işareti mutlaka değişken adının önüne konmalıdır.

  5. Değişkenlere Değer Atama • Set yada select ifadelerini kullanarak değişkenlere değer ataması yapılır. • Set ifadesiyle değişkene değer ataması aşağıdaki gibi yapılır. • SET @değişken_adi=değer • Select ifadesiyle değişkene değer ataması aşağıdaki gibi yapılır. • SELECT @değişken_adı=değer

  6. Yukarıda oluşturduğumuz @n1 ve @n2 değikenlerine bir değer ataması yapalım ve bu iki değerin ortalamasını alıp @ort değikenine aktaralım: • set @n1=85select @n2=45set @ort=(@n1+@n2)/2 • Hem set hem de select ifadelerini kullanarak değişkenlere değer ataması yaptık.

  7. Değişken Değerlerinin Ekranda Gösterilmesi • Değişkenlerin aldığı değerleri ekranda görüntülemek için select yada print komutları kullanılır. • Değişkenlerin değerini, hata mesajlarını vs. mesaj olarak görmek isteriz. Bu tür durumlarda, print komutu kullanılır. • Select ifadesi ile sorgu çıktısı olarak ekranda görüntülenir. Bu iki komutun daha iyi anlaşılması için aşağıda iki komutun ekran çıktılarını bakınız. • select @n1select @n2select @ort as ortalamaprint @ort

  8. Çıktı • Sonuç (Results) ekranı select ifadesi ile ekrana gelir. Mesaj (Message) ekranı print ile ekrana gelir. • as komutunu kullanarak alanlara isim verebiliriz.

  9. Örnek Tablo(ogrenci)

  10. Örnek • Kadir demir isimli öğrencimizin notları @n1,@n2,@n3 değişkenlerine aktaralım • declare @n1 int, @n2 int, @n3 int, @ort float • select @n1=ogr_not1, @n2=ogr_not2, @n3=ogr_not3 from ogrenci where ogr_ad='kadir' and ogr_soyad='demir' • set @ort=(@n1+@n2+@n3)/3 • select @ort as ortalama

  11. Değişken kullanarak yeni bir kayıt ekleme • declare @ad varchar(15),@soyad varchar(25)declare @not1 int, @not2 int, @not3 intset @ad='mustafa'set @soyad='bilir'set @not1=55set @not2=85set @not3=95insert into ogrenci (ogr_ad,ogr_soyad,ogr_not1,ogr_not2,ogr_not3) values (@ad,@soyad,@not1,@not2,@not3)select * from ogrenci

  12. Örnek • değişkenleri kullanarak adı "mu" ile başlayan kayıtları bulalım: • declare @ad varchar(15)set @ad='mu%'select * from ogrenci where ogr_ad like @ad

  13. Örnek • Kayıtlı öğrenci sayısını bulalım: • declare @ogrencisayisiintselect @ogrencisayisi=COUNT(*) from ogrenciprint 'öğrencisayısı='print @ogrencisayisi

  14. SQL Denetim Deyimleri

  15. SQL Denetim Deyimleri • Birden fazla komutu aynı anda işletebilmek için SQL’de bloklar kullanılmaktadır. • Tüm programlama dillerinde olduğu gibi akış kontrollerinde ve döngü yapılarında kullanılan komutlar birden fazla ise mutlaka BEGIN..END bloğunda yazılmalıdır.

  16. IF..ELSE Yapısı • Bir deyimin işletilmesini belli bir koşula bağlar. • Kullanımı if(mantıksal ifade)begin// şartın doğru olması durumunda yapılacak işlemlerend else //else yerine else if (şart) şeklinde kontrol cümleleri artırılabilir.begin//diğer dumunda yapılacak işlemlerend

  17. Örnek: Öğrenci notları tablosu • Öğrencilerin not ortalamalarına göre ortalaması 85’in üzerinde olanların durumu için • “PEKİYİ”, 85’ten küçük olanlar için ise “İYİ” yazdıran T-SQL kod satırlarıdır.

  18. IF..ELSE yapısının kullanılması ve sonucu

  19. CASE Yapısı Case yapısı, birçok durum için dallanmaya müsait bir yapıdır. Kullanımı CASE değer WHEN değer THEN işlem WHEN değer THEN işlem ELSE işlem END

  20. Örnek • Kütüphanedeki kitapların mevcut olup olmadığını gösteren basit bir T-SQL kodlarıdır. • Tablonun aşağıdaki gibi olduğunu varsayınız.

  21. Kitapların kütüphanede olup olmadığı KitapDurumu sütununda belirtilecektir. Case yapısının kullanımı Case yapısı kullanılarak kitap durumları KitapDurumu sütununa yazdırılmıştır.

  22. Döngüler

  23. While Döngüsü • Tekrar gerektiren işlemlerde istenilen şart gerçekleşinceye kadar işlem yapmaya olanak sağlar. While ile bir işlemi istenilen kadar tekrarlatabilirsiniz. Genel yapısı şu şekildedir: • WHILE şartBEGINTekrarlanması gereken kodlarEND

  24. Örnek • while döngüsü ile toplama işlemi yapalım; • Cdeclare @sayac int, @sayi int,@toplam intset @toplam=0set @sayi=10set @sayac=0while (@sayac<5)beginset @toplam=@toplam+@sayiset @sayac=@sayac+1print @toplamend

  25. BREAK Komutu • İstenilen şart sağlandığında WHILE döngüsünden çıkmak için BREAK komutu kullanılır. Programın çalışması WHILE’ın END’inin altındaki satırdan çalışmaya devam eder.

  26. Örnek • Sayacın 3 olması durumunda WHILE döngüsünden çıkıp toplamı ve sayacın değerini yazdıran T-SQL kodlarıdır.

  27. CONTINUE Komutu • Programın çalışmasını WHILE yapısının başına göndermek için kullanılan bir komuttur.

  28. Örnek • Sayaç değişkenin 3 değeri hariç diğer değerleri ve toplamı yazdıran T-SQL kodlarıdır.

  29. Genel Uygulama • Soru 1. Veri tabanınızda “Sinif” adında bir tablo oluşturunuz. • Tablonun sütun adları ve veri türleri; Ogr_No int, Ad VARCHAR(15), Soyad VARCHAR(20), Cinsiyet VARCHAR(1), Yas int

  30. Soru-2 • Tabloya beş adet kayıt girişi yapınız.

  31. Soru 3 • Cinsiyeti erkek olmayan öğrencileri seçiniz.

  32. Soru-4 • Yaşı 17’den büyük kız öğrencileri seçiniz.

  33. Soru-5 • Yaşı 17’den küçük olanları, ad ve soyadlarıyla beraber seçiniz

  34. Soru-6 • Yaşı 16’dan büyük olanları, öğrenci numaraları ve cinsiyetleriyle beraber seçiniz.

  35. Uygulama 2 • Aşağıdaki SQL kodlarını analiz ederek uygulayınız. DECLARE @sayi1 int DECLARE @sayi2 int SET @sayi1=3 SET @sayi2=6 IF @sayi1>@sayi2 BEGIN PRINT 'Birinci sayı ikinci sayıdan büyüktür' END ELSE PRINT 'İkinci sayı birinci sayıdan büyüktür'

  36. DECLARE @Toplam int SET @Toplam=@sayi1+@sayi2 IF @Toplam>5 PRINT 'İki sayının toplamı 5 ten büyük' ELSE PRINT 'İki sayının toplamı 5 ten küçük' SELECT @Toplam= CASE WHEN @Toplam>9 THEN @Toplam*10 WHEN @Toplam<10 THEN @Toplam*2 END PRINT 'CASE işlemi sonucu :' PRINT @Toplam

  37. DECLARE @sayac int DECLARE @modtoplam int SET @sayac=0 SET @modtoplam=0 WHILE (@sayac<@toplam) BEGIN SET @sayac=@sayac+5 SET @modtoplam=@modtoplam+(@sayac%2) END PRINT 'Mod işlemi toplamları sonucu=' PRINT @modtoplam SELECT 'Mod işlemi toplamları sonucu='+ CONVERT(VARCHAR,@modtoplam) şeklinde de yazılabilir. CONVERT() fonksiyonu veriyi bir formattan başka bir formata çevirmek için kullanılır. Böylece “int” türdeki “@modtoplam” değişkeninin içeriği karaktersel veri türüne çevrilmiştir.

More Related