Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Benzer belgeler
Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

PostgreSQL ve PL/pgSQL

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

Bir çeşit prosedür. Ancak bu prosedür kendiliğinden çalışır. Çalışması için tabloya veri eklemek, veri silmek, veri değiştirmek yeterlidir.

«BM364» Veritabanı Uygulamaları

STORED PROCEDURE LER (Saklı Yordamlar)

EXISTS VE NOT EXISTS fonksiyonları

HSancak Nesne Tabanlı Programlama I Ders Notları

T-SQL NEDİR? Microsoft T-SQL Transact-SQL

PostgreSQL ve PL/pgSQL

SQL Komutları (2) Uzm. Murat YAZICI

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir, aksi durumda hata olur.

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

VERİ TABANI YÖNETİM SİSTEMLERİ II. 3. SQL PROGRAMLAMA BLOKLARI ve AKIŞ DENETİMİ

KULLANICI TANIMLI FONKSİYONLAR (Devam)

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

Nesneler üzerinde değişiklik yapmak için kullanılır. Veri tabanındaki nesnelerin oluşturulabilmesi için CREATE komutu kullanılır.

KULLANICI TANIMLI FONKSİYONLAR

SQL TRIGGERS (Tetikleyiciler)

KULLANICI TANIMLI FONKSİYONLAR (Devam)

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Cursor. Bir veri tipi olarak da ele alınabilen Transact-SQL Sunucu Cursor şu aşamalardan geçirilerek kullanılır.

VERİ TABANI YÖNETİM SİSTEMLERİ I

Oracle da kullanılan veri tipleri:

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

VERİTABANI. SQL (Structured Query Language)

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

ALGORİTMA VE PROGRAMLAMA I

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

PROGRAMLAMA DİLLERİ I

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

VERİTABANI ve YÖNETİMİ

15 Aralık 2011 / Perşembe.

Veri Tabanı II Alt Sorgular

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Hafta 9 C Dilinde Kontrol ve Döngü Yapıları

ALGORİTMA VE PROGRAMLAMA II

2- Total de 8000 byte yer tutup 4000 karakter olarak kullanabildiğimiz tip aşağıdakilerden hangisidir?

BİL-142 Bilgisayar Programlama II

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

VERİ TABANI ve YÖNETİMİ

Internet Programming II

Güz Yarıyılı MT 487 Bilgisayarda Veri Yapıları Final Çalışma Soruları

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

Lıke Joker Karakterler, Is [not] Null, Order By, Group By, As

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

Çok tablolu sorgulamalar

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

Internet Programming I. Hafta III. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

SQL e Giriş. Uzm. Murat YAZICI

BMT 101 Algoritma ve Programlama I 8. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

Veritabanı. SQL (Structured Query Language)

SORGULAR. Öğr.Gör.Volkan Altıntaş

Veri Yapıları ve Algoritmalar

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Basit SQL Sorguları Veritabanından verilerin SELECT cümleleri ile alınması işlemine sorgulama denir.

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Veri Tabanı Tasarım ve Yönetimi

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

Nesne Yönelimli Programlama

İnternet Programcılığı Dersi 2.Dönem Ders Notu

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

BİLİŞİM TEKNOLOJİSİNİN TEMELLERİ DERSİ

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Like Joker Karakterler, Order By, Group By

Veritabanı Tasarımı. Alt Sorgu Temelleri

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

YUVARLAMA FONKSİYONLARI

İNTERNET TABANLI PROGRAMLAMA- 12.ders

YZM 2105 Nesneye Yönelik Programlama

Python Programlama Dili

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Akış Kontrol Mekanizmaları

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

Program AkıĢ Kontrol Yapıları

Laboratuvar 2 Tek Kayıt Fonksiyonları

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

ACCESS PLATFORMUNDA SQL

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

SQL Stored Procedure

BPR152-Algoritma ve Programlama II Uygulama -8

Transkript:

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II Değişken Tanımlama Ve Akış Kontrol Deyimleri

Değişken Nedir? Değişkenler, programın veya kodların icra süresince belirli bir değer tutan ve istenilirse bu değer değiştirilebilen programlama elemanlarıdır. Değişkenleri kullanabilmek için öncelikle tanımlamak gerekmektedir.

Değişken Tanımlama Değişken isimlerinin başında @ sembolü bulunur. @ad, @soyad, @tarih değişken isimlerine birer örnektir. Değişken tanımlamak için DECLARE deyimi kullanılır. Genel ifade DECLARE @degisken_adi veritipi şeklinde tanımlanır.

Değişken Tanımlama DECLARE @ad nvarchar(25) DECLARE @sayi int Tek bir satırda farklı tiplerde birden fazla değişken tanımlaması yapılabilir. DECLARE @numara int, @borc Money

Değişkene Değer Atama SET @degiskenadi = atanacakdeger DECLARE @sayi1 INT, @sayi2 INT, @toplam INT SET @sayi1=16 SET @sayi2=37 SET @toplam=@sayi1+@sayi2 Değişkenlere atanacak değer sabit olabileceği gibi diğer değişkenlerden de elde edilebilir. @sayi = 10 şeklinde atama yapılamaz, hata verir.

Değişkene Değer Atama Değişkene atanacak değer bir sorgudan dönen değer de olabilir. Bu durumda SELECT ifadesi kullanılmalıdır. DECLARE @EnyuksekMaas Money SELECT @EnyuksekMaas=MAX(Maas) FROM calisanlar! SELECT ifadesi ile sabit değer ataması da yapılabilir.

Sistem Fonksiyonları SQL server da önceden tanımlı pek çok değişken vardır. Bunlardan iki tanesinden bahsedelim. @@error : sql deyimi hata vermeden çalışırsa değeri sıfır, hata verirse sıfırdan farklı bir değer alır. @@rowcount : Bir update, delete, insert deyimi çalıştığında, kaç tane kaydın etkilendiğini bize bildirir.

Yazı Yazdırma Yazı yazdırma PRINT deyimi kullanılır. Örnek: PRINT 'Ali Coşkun' PRINT 5 PRINT 'HATA' PRINT @@error

Yazı Yazdırma DECLARE @sayi1 INT, @sayi2 INT, @toplam INT SET @sayi1=16 SET @sayi2=37 SET @toplam=@sayi1+@sayi2 PRINT @toplam DECLARE @EnyuksekMaas Money SELECT @EnyuksekMaas=MAX(Maas) FROM calisanlar PRINT @EnyuksekMaas

Akış Kontrol Deyimleri CASE IF. ELSE. WHILE.. BREAK CONTINUE

CASE deyimi Case deyimi SELECT, UPDATE, DELETE, SET, IN, WHERE, ORDER BY gibi deyimlerin içinde kullanılır. Sql içinde belirli durumlara göre farklı değerler üretmek istiyorsak CASE deyimi kullanırız. İki farklı yazım şekli vardır.

Basit CASE yapısı CASE GirişDenklemi WHEN değer1 THEN sonuç1 WHEN değer2 THEN sonuç2.. ELSE END

Örnek DECLARE @sayi INT=5 SELECT CASE @sayi WHEN 1 THEN 'Zayıf' WHEN 2 THEN 'Geçer' WHEN 3 THEN 'Orta' WHEN 4 THEN 'İyi' WHEN 5 THEN 'Pekiyi' ELSE 'Aralık Dışı Değer' END

İkinci CASE yazımı CASE WHEN koşul1 THEN sonuç1 WHEN koşul2 THEN sonuç2. ELSE sonuç END

Örnek DECLARE @notu INT=50 SELECT CASE WHEN @notu>=0 AND @notu<50 THEN 'Kaldı' WHEN @notu>=50 AND @notu<=100 THEN 'Geçti' ELSE 'Aralık Dışı Not değeri' END

Örnek: Çalışanlar tablosunda Medeni Durum değeri 1 olanlar için Bekar, 2 olanlar için Evli, diğer değerler için Bilinmiyor yazdıran sql kodları SELECT Ad, Soyad, CASE WHEN MedeniDurum=1 THEN 'Bekar' WHEN MedeniDurum=2 THEN 'Evli' ELSE 'Bilinmiyor' END AS 'Medeni Durum' FROM calisanlar

Örnek Çalışanlar tablosunda maaşı 2500 den küçük olan kayıtlar için az maas, 4000 den büyük olanlar için çok maaş, bu değerlerin dışındaki değerler için normal maaş BolumId 1 ise ARGE, 2 ise Yazılım, 5 ise İdare BolumId 1 ise %13, 2 ise %11 zam yapan sql ifadesini case yapısını kullanarak yazınız.

Örnek

Ödev Öğrenci tablosundaki her bir öğrencinin öğrenci Numarasını, adını, soyadını,ders adını ve 100 lük notuna göre harf notunu döndüren sorguyu yazınız. (100 lük notu harf notuna dönüştürürken case yapısı kullanınız.)

IF ELSE deyimi IF koşul Sql deyimi Koşul doğru ise devamındaki sql deyimi çalışır. Yanlış ise çalışmaz. IF koşul ELSE Sql deyimi (1) Sql deyimi (2) Koşul doğru ise 1. sql deyimi, yanlış ise 2. sql deyimi çalışır. Eğer sql deyimi birden fazla satırdan oluşursa BEGIN. END arasında yazılır.

Örnek: Calısanlar tablosunda Ortalama maaş 3000 den çok ise maaş ortalaması yüksek, az ise maaş ortalaması düşük yazsın IF (SELECT AVG(Maas) FROM calisanlar) > 3000 PRINT 'Maaş ortalaması yüksek' ELSE PRINT 'Maaş ortalaması düşük'

Örnek: 5 nolu personelin maaşı ortalama maaştan düşük ise az maaş, değilse çok maaş yazdıran sql ifadesi IF (SELECT Maas FROM calisanlar WHERE CalisanId=5) > (SELECT AVG(Maas) FROM calisanlar) PRINT 'çok maaş' ELSE PRINT 'az maaş'

WHILE döngüsü While yapısı bir sql deyiminin tekrarlanmasını sağlar. Koşul yanlış oluncaya kadar döngü çalışır. BREAK : döngüden koşul sağlanmadan yani erken çıkılmasını sağlar. CONTINUE : devamındaki satırlar işlenmeden döngünün ilk satırına dönülmesini sağlar.

Genel ifade Veya WHILE koşul Sql deyimi WHILE koşul BEGIN Sql deyimleri END Veya WHILE koşul BEGIN Sql deyimi Koşula bağlı BREAK deyimi Sql deyimi Koşula bağlı CONTINUE deyimi Sql deyimi END

Örnek:1 den 12 ye kadar sayıları yazdıralım. DECLARE @sayi int SELECT @sayi=1 WHILE @sayi<=12 BEGIN PRINT @sayi SELECT @sayi = @sayi + 1 END

Örnek :1 den 30 kadar döngüyü çalıştıralım. 1 den 24 e kadar yazdıralım. 25 olunca döngüden çıkalım. DECLARE @sayi int SELECT @sayi =1 WHILE @sayi <=30 BEGIN PRINT @sayi IF @sayi = 24 BREAK SELECT @sayi=@sayi+1 END

Örnek : 1den 30 a kadar olan sayıları yazdıralım. Ancak 15-20 arası yazılmasın! DECLARE @sayi int SELECT @sayi=0 WHILE @sayi < 30 BEGIN SELECT @sayi=@sayi+1 IF @sayi Between 15 And 20 CONTİNUE PRINT @sayi END