1. PL/SQL de kontrol yapıları



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

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL

ALGORİTMA VE PROGRAMLAMA I

Bölüm 8. İfade Seviyesindeki Kontrol Yapıları ISBN

Akış Kontrol Mekanizmaları

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

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

How to ASP Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013

BİL-142 Bilgisayar Programlama II

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer.

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

Algoritma ve Programlama: Karar Yapıları ve Döngüler

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

Đlişkisel Operatörler

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

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

PROGRAMLAMA DİLLERİ I

Chapter 8. Komut düzeyi kontrol yapıları ISBN

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

UYGULAMALAR -2 Select case Yapısı: Select Case case case case case case is case Else End Select Örnek:

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

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

Bilgisayar Programlama

How to ASP Language. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. Hafta V

Fortran da kullanılan giriş çıkış komutları PRINT, WRITE ve READ dir.

a,b başlangıç değerlerini 0 kabul et a sayısını verin b sayısını verin hayır hayır b< a? evet a=b a değerini ekrana yaz

Bölüm 8. İfade -Seviyeli Kontrol Yapıları ISBN

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

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

Matris İşlemleri Uygulaması

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

KONTROL YAPILARI (CONTROL STRUCTURES)

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.

SAB104 Bilgisayar Programlama

ÜNİT E ÜNİTE KONTROL DEYİMLERİ KARAR YAPILARI. IF Deyimi GİRİŞ

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; }

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

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

ALGORİTMA (ALGORITHM) M.İLKUÇAR -

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

Oracle da kullanılan veri tipleri:

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

Döngüler - Loops 4/13/2011. ENF-102 Jeoloji Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

ALGORİTMA VE PROGRAMLAMA I

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

ALGORİTMA VE PROGRAMLAMA I

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

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

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları)

BİLGİSAYAR PROGRAMLAMA DERSİ

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Algoritmalar ve Programlama. Algoritma

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

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.


UTL_FILE PERFORMANSI

STORED PROCEDURE LER (Saklı Yordamlar)

M.ilkucar MAKU MYO 1

Algoritma ve Akış Diyagramları

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

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

AOSB 2017 EĞİTİM PROGRAMI

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

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

Nesne Yönelimli Programlama

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

Öğr. Gör. Serkan AKSU 1

8- PROGRAM YAPISAL KOMUTLARI ve. M.ilkucar MAKU MYO 1

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

3. KOŞUL YAPILARI 3.1. IF YAPISI 2

OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI

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

Algoritma ve Akış Şemaları

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları

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

KARAR YAPILARI. Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz?

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

Fen ve Mühendislik Uygulamaları ile MATLAB

C Dersleri Bölüm 3 : Program akışı

Nesne Tabanlı Programlama

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

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 1202


ç ç ç ç Ö ç ç Ş ç ç Ç

PASCAL PROGRAMLAMA DİLİ YAPISI

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

Döngü yapıları, (for, do while, while),

Semantik (Semantics): ifadelerin, deyimlerin, ve program birimlerinin anlamı Sentaks ve semantik bir dilin tanımı sağlar

MatLab. Mustafa Coşar

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

Print Komutu ile Değişkenleri Yazdırmak

İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU. Kredisi AKTS Eğitim Dili Tipi: Zorunlu/ Saat

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Transkript:

1. PL/SQL de kontrol yapıları PL/SQL de kontrol yapıları genel olarak IF, CASE LOOP, WHILE, FOR ile gerçekleştirilir. Tabi bu deyimlerinde kendi içinde alt basamakları bulunmaktadır. Şimdi sırası ile bu yapılara göz atalım IF : Türkçede eğer anlamına gelen bu komutun pl/sql dilinde genel kullanım sözdizimi şu şekildedir; IF condition THEN statements; [ELSIF condition THEN statements;] [ELSE statements;] Bu komutla ilgili bir örnek yapacak olursak; vize_notu number:=50; IF vize_notu < 80 THEN DBMS_OUTPUT.PUT_LINE(' Dersten Kaldınız '); Yukardaki kodda vize_notu şeklinde bir değişken tanımlıyoruz ve değerini 50 ye eşitliyoruz.daha sonra IF komutumuzla notumuz 80 den düşük ise ki öyle Dersten Kaldınız diye bir mesaj veriyoruz.sql Developerdaki ekran görüntümüz şu şekilde oluyor.

IF THEN ELSE: Yukardaki örnekte şartımız sadece bir durum için geçerliydi.if THEN ELSE ile şartı sağladığı ve/veya sağlamadığı durumlarda sonuç veren bir yapımız bulunmaktadır. vize_notu number:=90; IF vize_notu < 80 THEN DBMS_OUTPUT.PUT_LINE(' Dersten Kaldınız '); ELSE DBMS_OUTPUT.PUT_LINE(' Dersten Geçtiniz '); Vize notumuz 90 olduğu için ekran görüntümüzde Dersten Geçtiniz yazacaktır. IF ELSIF ELSE: IF THEN ELSE yapısından farkı birçok durum için birçok farklı sonuç üretebilmesidir.aşağıdaki kodda görüldüğü gibi vize notumuzu=40 yaptık. Vize notumuzun 95 ten büyük olduğu durumda notumuzu AA verdir. Aynı şeyi 90,70 içinde yaptık.ve 70 ve 70 ten küçük her alınan notu DD olarak belirttik. vize_notu NUMBER:=40; IF vize_notu > 95 THEN DBMS_OUTPUT.PUT_LINE(' AA Aldınız '); ELSIF vize_notu > 90 THEN DBMS_OUTPUT.PUT_LINE(' BB Aldınız '); ELSIF vize_notu > 70 THEN DBMS_OUTPUT.PUT_LINE(' CB Aldınız '); ELSE DBMS_OUTPUT.PUT_LINE(' DD Aldınız '); Ekran görünütümüz

IF kontrol yapılarını bitirirken küçük bir hatırlatma olarak; Eğer değişkene bir değer atamadıysanız her zaman en sonraki şartınızın alacağı değeri alacaktır. vize_notu NUMBER; IF vize_notu > 95 THEN DBMS_OUTPUT.PUT_LINE(' AA Aldınız '); ELSIF vize_notu > 90 THEN DBMS_OUTPUT.PUT_LINE(' BB Aldınız '); ELSIF vize_notu > 70 THEN DBMS_OUTPUT.PUT_LINE(' CB Aldınız '); ELSE DBMS_OUTPUT.PUT_LINE(' DD Aldınız '); DD Aldınız yazacaktır

CASE: IF ELSIF ELSE yapısına benzer.fakat bence daha kullanışlı ve pratikdir.çalışma mantığı aynıdır.belirli şartlara göre belirli sonuçları vermektedir. CASE selector WHEN expression1 THEN result1 WHEN expression2 THEN result2... WHEN expressionn THEN resultn [ELSE resultn+1] Şimd bu komutla ilgili örnekler yapalım notum number := UPPER('&notum'); degerlendirme VARCHAR2(100); degerlendirme := CASE notum WHEN '100' THEN 'AA' WHEN '90' THEN 'BB' WHEN '60' THEN 'CC' ELSE 'Belirtilen Notları Girmediniz' DBMS_OUTPUT.PUT_LINE ('notum: ' notum ' degerlendirme ' degerlendirme); Yukardaki kodda kullanıcıdan belirttiğimiz değerleri girmesini istiyoruz.100 girdiğinde ekranımızda AA 90 yazdığında BB,60 yazdığında CC olacaktır.bunlar haricinde bir değer girdiğimizde ise Belirtilen Notları Girmediniz şeklinde mesaj verecektir.

Ekran görüntüsü Diğer bir örnek verecek olursak select table_name, CASE owner WHEN 'SYS' THEN 'SYS Şeması' WHEN 'SYSTEM' THEN 'SYSTEM Şeması ' ELSE 'Başka bir şema' END from all_tables; LOOPS: Döngü anlamına gelen bu deyimde bir sonuç kümesinin içinde birçok sıralama ve döngü oluşturulabilir.basic loop,for loop ve while loop şeklinde kullanılabilir. Basic Loop(Genel Kullanım) : loop sözdiziminin en basit ve genel kullanım ifadesidir. LOOP statement1;... EXIT [WHEN condition]; Şeklindedir.

Örnek olarak ; x NUMBER := 0; LOOP DBMS_OUTPUT.PUT_LINE ('x in içerdeki degeri: x = ' TO_CHAR(x)); x := x + 1; IF x > 5 THEN EXIT; DBMS_OUTPUT.PUT_LINE(' Döngüden sonraki değeri: x = ' TO_CHAR(x)); X değişkenimize 0 a eşitledik ve döngüyü başlattık.x in döngüye girmeden önceki ve döngüye girdikten sonraki değerlerini ekrana yazdık.ekran görüntüsü ;

WHILE LOOP: while sözdizimi ile kullanıldığı yapılardır.genel yapısı WHILE condition LOOP statement1; statement2;... Şeklindedir. sayi NUMBER := 0; WHILE sayi <= 10 LOOP sayi := sayi + 1; DBMS_OUTPUT.PUT_LINE('Sayının değeri ' sayi); Yukardaki kodda 1 den 10 a kadar sayıları yazdırıyoruz ve sayının en son değerini ekrana basıyoruz FOR LOOPS: Genel kullanımı şu şekildedir FOR counter IN [REVERSE] lower_bound..upper_bound LOOP statement1; statement2;... Örnek verecek olursak; FOR sayi IN 1..15 LOOP dbms_output.put_line (sayi);