SQL de Değişken Tanımlama

Slides:



Advertisements
Benzer bir sunumlar
Stored Procedure Öğr.Gör.Metin Akbulut.
Advertisements

T sql-diğer komutlar Metin Akbulut.
JavaScript Birinci Hafta.
Kontrol İfadeleri : 2.Kısım
DÖNGÜ “Şart sağlandığı sürece” içerisindeki komut satırlarını, artış değeri adedince tekrarlayan kodlardır.
SQL (Structured Query Language)
VERİ TABANI YÖNETİMİ Ders 11: PL/SQL’e Giriş
Bölüm 5 – Kontrol İfadeleri : 2.Kısım
Bölüm 2: Program Denetimi
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
SQL de Değişken Tanımlama
SQL Komutlar 5 Sibel SOMYÜREK.
4. KONTROL VE DÖNGÜ KOMUTLARI
VERİ TABANI ve YÖNETİMİ
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Veri Tabanı Yönetim Sistemleri
Tek Tablo İçinde Sorgulamalar
T-SQL-2.Konu Akış Kontrolleri.
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
Yapısal Program Geliştirme – if, if-else
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
VIEW (BAKIŞ) OLUŞTURMA
ÖRNEKLER. musteri Id adi soyadi mus_satis Id barkod adet Urunlar barkod urun_adi kodu fiyati Stok_hareket tarih barkod gelen giden.
SQL’e Giriş ve SELECT Komutu
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
ŞART İFADELERİ.
Döngü Yapıları.
VeriTabanı Uygulama.
Akış Kontrol Mekanizmaları
Bilgisayar Programlama Güz 2011
Çoklu dallanma seçimi: switch
SQL Komutları (2) Uzm. Murat YAZICI.
FONKSİYONLAR İbrahim Onur Sığırcı.
RAISE RECORD/CURSOR TRIGGER
Bilgisayar Mühendisliği Bölümü
PROGRAM DENETİM DEYİMLERİ
4. KONTROL VE DÖNGÜ KOMUTLARI
String class String karakterler dizisidir
C++ Ders Notları 4.Ders (Kontrol ve Döngüler)
SQL’ e Giriş Uzm. Murat YAZICI.
Bilgisayar Mühendisliği Bölümü
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
YAPISAL PROGRAMLAMA KAVRAMI
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Sayısal Analiz / Uygulama
Yapısal Sorgulama Dili SQL Hafta 7. TEKRARLI SATIRLARI ÖNLEMEK  DISTINCT komutu ile sorgu sonucunda birden fazla kayıt aynı verileri içeriyorsa tekrarlı.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
14.DERS Örnekler, Sorular BUKET DOĞAN.
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
Excel’de VBA Programlama (Visual Basic Application)
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Bölüm 2: Program Denetimi
DML ile veri ekleme, silme ve değiştirme
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-2
FONKSİYONLAR İbrahim Onur Sığırcı.
Sorgu / dml / ddl komutları
Akis diyagramı Örnekleri
SQL (STRUCTURED QUERY LANGUAGE)
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
SQL Server - Stored Procedures
Bilgisayar Bilimi Döngüler.
Transaction.
Sunum transkripti:

SQL de Değişken Tanı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 Tanımlama SQL Server'da da değişkenler yerel ve genel olmak üzere ikiye ayrılır. Yerel değişkenler, "@" ön eki ile tanımlanır (@değişken). Genel değişkenler ise SQL Server tarafından tanımlanmıştır ve kullanıcı tarafından oluşturulamaz. "@@" ön eki ile tanımlanırlar (@@SERVERNAME). Genel değişkenler genellikle SQL Server hakkındaki bilgileri verir. SQL Server'da tanımlanmış birçok genel değişken vardır.

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.

Değişken Tanımlama DECLARE @değişken_adı veri_türü ifadesi ile bir değişken tanımlıyoruz. declare @sayi1 int declare @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 DECLARE @ogr_no varchar(10),@tckimlik_no int 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.

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

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=85 select @n2=45 set @ort=(@n1+@n2)/2 Hem set hem de select ifadelerini kullanarak değişkenlere değer ataması yaptık.

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 @n1 select @n2 select @ort as ortalama print @ort

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

Örnek Tablo(ogrenci)

Ö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

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

Ö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

Örnek Kayıtlı öğrenci sayısını bulalım: declare @ogrencisayisi int select @ogrencisayisi=COUNT(*) from ogrenci print 'öğrenci sayısı=' print @ogrencisayisi

SQL Denetim Deyimleri

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.

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şlemler end else //else yerine else if (şart) şeklinde kontrol cümleleri artırılabilir. begin //diğer dumunda yapılacak işlemler end

Ö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.

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

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 ELSE işlem END

Ö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.

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.

Döngüler

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 şart BEGIN Tekrarlanması gereken kodlar END

Örnek while döngüsü ile toplama işlemi yapalım; declare @sayac int, @sayi int,@toplam int set @toplam=0 set @sayi=10 set @sayac=0 while (@sayac<5) begin set @toplam=@toplam+@sayi set @sayac=@sayac+1 print @toplam end

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.

Ö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.

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

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

Örnek Siparis tablosundan satış adetleri 50 oluncaya kadar adet alanının 2 katını alan SQL cümlesi. WHILE (SELECT AVG(adet) FROM siparis) < 50 BEGIN UPDATE siparis SET adet= adet* 2 SELECT MAX(adet) FROM siparis IF (SELECT MAX(adet) FROM siparis) > 50 BREAK ELSE CONTINUE END PRINT 'adet değeri büyük'''

Uygulama 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'

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

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.