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



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

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

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.

STORED PROCEDURE LER (Saklı Yordamlar)

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

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.

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

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

«BM364» Veritabanı Uygulamaları

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

SQL Komutları (2) Uzm. Murat YAZICI

KULLANICI TANIMLI FONKSİYONLAR (Devam)

EXISTS VE NOT EXISTS fonksiyonları

PostgreSQL ve PL/pgSQL

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.

Oracle da kullanılan veri tipleri:

KULLANICI TANIMLI FONKSİYONLAR (Devam)

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

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

KULLANICI TANIMLI FONKSİYONLAR

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

PostgreSQL ve PL/pgSQL

VERİTABANI. SQL (Structured Query Language)

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

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

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

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

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

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

SQL TRIGGERS (Tetikleyiciler)

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

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

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

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

1. Araçların tüm bilgilerini ve bağlı oldukları kiralama noktasının adres ve telefonunu içeren tam listesi:

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

HSancak Nesne Tabanlı Programlama I Ders Notları

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

SQL e Giriş. Uzm. Murat YAZICI

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Kısıtlamalar (Constraints)

15 Aralık 2011 / Perşembe.

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

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

BAYİLERİMİZE ÖZEL. 13 Ağustos İlgili Modül/ler : Genel. İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL

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

ACCESS PLATFORMUNDA SQL

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL-2

Çok tablolu sorgulamalar

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

Veritabanı. SQL (Structured Query Language)

Sayfa 1 / 8. Tabo yapıları

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

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR. IF ELSE YAPISI if (deger) { }else {

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

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

YAPISAL SORGULAMA DİLİ (SQL)

Veri Tabanı Programlamaya Giriş

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

ALGORİTMA VE PROGRAMLAMA I

Tetikleyiciler (TRIGGER) Tetikleyiciler ne zaman kullanılırlar. Ardı Sıra Tetikleyiciler (After Triggers) Örnek

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

MT487_2005guz_final_cevaplar (cevaplar vurgulu ve koyu yazılmıştır)

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

BİL-142 Bilgisayar Programlama II

Veri Tabanı-I 9.Hafta

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

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

Algoritma ve Akış Diyagramları

Veritabanına Uygulanması

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

VERİ TABANI ve YÖNETİMİ

1. PL/SQL de kontrol yapıları

SQL Kod ile Tablo Oluşturma

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

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

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

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

ALGORİTMA VE PROGRAMLAMA I

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

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

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

Bu amaçla, if ve switch gibi karar verme deyimleri, for, while, do..while gibi döngü deyimleri kullanılır.

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

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

Akış Kontrol Mekanizmaları

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

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

Veri Tabanı Yönetim Sistemleri Bölüm - 4

Laboratuvar 2 Tek Kayıt Fonksiyonları

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

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

ALGORİTMA VE PROGRAMLAMA II

SQL Stored Procedure

Nesne Yönelimli Programlama

Transkript:

SQL PROGRAMLAMA BATCH Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı deyimidir. SELECT. UPDATE...... DELETE.. BATCH BATCH Özellikleri 1- Bir batch içinde bir deyimde yazım hatası olduğunda tüm batch çalışmaz hale gelir. 2- Aynı batch içinde bir tablonun yapısı değiştirilip kullanılamaz. CREATE TABLE urun INSERT urun. Yukarıdaki kod çalışmaz. Çünkü aynı batch içinde tablo oluşturuluyor ve bu tabloya ekleme yapılmak isteniyor. CREATE TABLE urun INSERT urun. Yukarıdaki kod ise hata vermeden çalışır. SQL Server da değişken tanımı Sql server da değişken isimlerinin başında @ sembolü bulunur. @ad, @soyad, @tarih değişken isimlerine birer örnektir. Değişken tanımı için DECLARE deyimi kullanılır. Genel ifade DECLARE @isim veritipi Şeklinde tanımlanır.

DECLARE @ad nvarchar(25), @soyad nvarchar(25), @tarih datetime DECLARE @numara int, @borc Money @numara =10 şeklinde atama yapılamaz, hata verir. Atama aşağıdaki gibi yapılır. SELECT @numara=10 Set @numara=10 SELECT @ad= ali, @soyad= coşkun, @borc=50 Yukarıdaki kodda @numara değişkenine 10 rakamı, @ad değişkenine ali, @soyad değişkenine coşkun, @borc değişkenine 50 değer atandı. DECLARE @UrunAdi varchar(30) SELECT @UrunAdi= Defter SELECT * FROM Urun WHERE UrunAdi=@UrunAdi DECLARE @PersonelAdi varchar(20) SELECT @PersonelAdi ='Ahmet' SELECT * FROM Personel WHERE ad=@personeladi 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 kayıdın etkilendiğini bize bildirir. Yazı Yazdırma: Yazı yazdırma PRINT deyimi kullanılır. PRINT 'Ali Coşkun' PRINT 5 PRINT 'HATA' PRINT @numara Print @@error Akış kontrol deyimleri SQL serverdaki akış kontrol deyimleri aşağıdadır. IF.. WHILE.. BREAK CONTINUE

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 deyimi kullanırız. İki farklı yazım şekli vardır. Basit yapısı GirişDenklemi WHEN değer1 THEN sonuç1 WHEN değer2 THEN sonuç2.. sonuçn Örnek 1: medenidurum WHEN 1 THEN 'Bekar' WHEN 2 THEN 'Evli' 'Bilinmiyor' Örnek 2: DECLARE @sayi INT=5 SELECT @sayi WHEN 1 THEN 'Zayıf' WHEN 2 THEN 'Geçer' WHEN 3 THEN 'Orta' WHEN 4 THEN 'İyi' WHEN 5 THEN 'Pekiyi' 'Aralık Dışı Değer' Yukarıdaki ifade tek başına yazılmaz, bir SELECT deyimi içine yazılır. medenidurum değeri 1 ise Bekar, 2 ise Evli, hiç biri değilse else tarafında bulunan bilinmiyor değeri gelir. İkinci yazımı WHEN koşul1 THEN sonuç1 WHEN koşul2 THEN sonuç2. sonuçn Örnek 1: WHEN medenidurum=1 THEN 'bekar' WHEN medenidurum=2 THEN 'evli' 'Dul' Örnek 2:

DECLARE @notu INT=500 SELECT WHEN @notu>=0 AND @notu<50 THEN 'Kaldı' WHEN @notu>=50 AND @notu<=100 THEN 'Geçti' 'Aralık Dışı Not değeri' Tablo : Personel SicilNo Departman Ad Soyad Maas 2053 10 İbrahim Öz 700 68054 10 Hakan Bülbül 850 0415 12 Ahmet Uzun 1200 0524 10 Halil Doğru 1500 0211 12 Özkan Zorlu 900 3159 12 Ali Şimşek 2500 2543 5 Neşe Şen 1300 2546 5 Alper Şener 1200 SELECT *, WHEN maas<1000 THEN 'maaş Az' WHEN maas>1200 then 'maaş çok' 'Maaş Normal' AS MaasDurumu, Departman WHEN 10 THEN 'PAZARLAMA' WHEN 12 THEN 'ÜRETİM' WHEN 5 THEN 'İHRACAT' as DepartmanAdi, Departman WHEN 10 THEN maas*1.3 WHEN 12 THEN maas*1.1 else maas end as artmismaas FROM Personel Ödev: ÖğrenciNot 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.) Ödevi alicoskunodev@gmail.com adresine yazdığınız sorgu ogrno.txt dosyasında olacak ve sorgunun çalıştıktan sonraki ekran görüntüsü ogrno.jpg dosyasında olacak şekilde maile eklenerek gönderilecektir. 21.10.2013 Pazartesi Saat 16:59 ödevin son gönderme saatidir. Yüzlük not- Harf Not Dönüşüm Tablosu 90-100 A1 55-59 D1 80-89 A2 50-54 D2 75-79 B1 40-49 E 70-74 B2 0-39 F1 65-69 C1 60-65 C2

IF deyimi Batch içinde koşula bağlı olarak dallanma yapar. IF koşul Koşul doğru ise devamındaki sql deyimi çalışır. Yanlış ise çalışmaz. IF koşul (1) (2) Koşul doğru ise 1. sql deyimi, yanlış ise 2. sql deyimi çalışır. Eğer sql deyimi bir den fazla satır dan oluşursa. arasında yazılır. DECLARE @isim varchar(20) SELECT @isim='ali' IF @isim = 'Ali' PRINT @isim + ' Coşkun' Örnek : Personel tablosunda Ortalama maaş 1000 çok ise maaş ortalaması yüksek, az ise maaş ortalaması düşük yazsın IF (select avg(maas) from personel) > 1000 PRINT 'Maaş ortalaması yüksek' PRINT 'Maaş ortalaması düşük' Örnek : 2053 sicil nolu personelin maaşı ortalamadan yüksek ise çok maaş, Düşük ise az maaş yazsın IF (select maas from personel where sicilno=2053) > (select avg(maas) from personel) PRINT 'çok maaş' PRINT 'az maaş' Örnek : IF((SELECT COUNT(1)FROM tbl_ogrencinot on1 WHERE on1.notu IS NULL)>0) DELETE FROM tbl_ogrencinot WHERE notu IS NULL SELECT * FROM tbl_ogrencinot on1

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 WHILE koşul Veya WHILE koşul Sql deyimleri Veya WHILE koşul Koşula bağlı BREAK deyimi Koşula bağlı CONTINUE deyimi 1 den 12 ye kadar sayıları yazdıralım. DECLARE @sayi int SELECT @sayi=1 WHILE @sayi<=12 PRINT @sayi SELECT @sayi = @sayi + 1 Örnek : Önceki örnek gibi, 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 PRINT @sayi IF @sayi = 24 BREAK SELECT @sayi=@sayi+1 Örnek : 1 den 30 a kadar yazdıralım. Ancak 15-20 arası yazılmasın. DECLARE @sayi int SELECT @sayi=0 WHILE @sayi < 30 SELECT @sayi=@sayi+1 IF @sayi between 15 and 20 continue PRINT @sayi