PL/SQL

PL/SQL Koşullar(Conditions)

Program komutları yazıldığı sırada akar. Ama çoğunlukla, bu akımı yönlendirmek gerekir. Bu iş için denetim yapılarından koşulları kullanabiliriz. Program akışını, belli mantıksal konullara göre istenen yöne saptıran denetim yapılarıdır.

Aşağıda şekil incelediğimizde condition yazan yer çalışmasını istediğimiz kodun çalışması için gereken koşul belirtiliyor eğer bu koşul doğru ise o zaman conditional code içinde sunduğumuz kodumuz çalışıyor ama  koşul yanlış ise bu şekle göre programımız sonlanıyor.

PL/SQL Koşullar - PL/SQL Conditions - PL/SQL if then else

Aşağıdaki çizelge de PL/SQL ‘de bulunan koşullu ifadeler bulumaktadır.

İfade Açıklama
IF-THEN IF- THEN- END IF;
Bu yapı if ‘in ardından belirtilen koşul sağlandığında then’in ardından gelen kod bloğu çalışır ve end if ile blok sonlanır. Zaten if’in ardındaki koşul sağlanmamış ise direk if then end if bloğu biter.
IF-THEN-ELSE IF-THEN-ELSE – END IF;
Bu koşul yapısında ise if koşuluna bir alternatif oluşturuyoruz.Yani eğer ilk koşul yanlış ise ya da null ise else’e git oradaki kodu çalıştır diye komut vermiş oluyoruz. Bu yapı sayesinde koşul sağlansın ya da sağlanmasın sonunda herhangi bir kod ile bir aksiyon alıyoruz.
IF-THEN-ELSEIF IF-THEN-ELSEIF-ELSEIF-ELSE-END IF;
Bu koşul yapısında birden fazla koşul için kodunuzu destekleyebilirsiniz. Örnek vermek gerekirse notu 0 ile 40 arasındakiler için bir işlem 40 ile 60 arasındakiler için farklı bir işlem 60 ile 80 arasındakiler için farklı bir işlem bunların dışındaki şartlar için de başka bir ihtimal gibi uzatabiliriz.
CASE CASE
Bu koşul yapısında bir değişkenin istenilen koşullardeki değerlerine göre kod blokları çalıştırılıyor.
NESTED IF-THEN-ELSE İç içe if’li bloklar oluşturabilirsiniz.

(continue reading…)

Loading


PL/SQL Data Type

Pl/Sql’de varsayılan olarak gelen bir çok veri tipi vardır. Bunların dışında bizlerde veri tipi oluşturuz genel olarak 3 çeşit veri tipi vardır.

  • Önceden Tanımlı veri türleri(Predefined Datatypes)
  • Kullanıcı tanımlı alt veri tipleri(User-Defined Sub types)
  • Veri tipi çevirici(Datatype Conversion)

Önceden Tanımlı veri türleri(Predefined Datatypes)

PL/SQL de değişkenler,sabitler ve parametereler için scalar,LOB(Large Object),Composite ve Reference olmak üzere 4 çeşit very tipi mevcuttur.

Kategori Açıklama
Scalar Number,date,character veya Boolean tipini kapsar.
LOB Resim,video,ses gibi gibi büyük objeler için.
Composite Recor,table,varray gibi tipler
Reference Diger very tipleri için.

Tam liste aşagıda ki gibidir.

PL-SQL Data Type - PL SQL veri tipi (continue reading…)

Loading


PL/SQL Değişkenler ve Sabitler

Pl/Sql’de değişkenler ve sabitler tanımlayıp bunları daha sonraki SQL ve program cümlelerinde kullanabiliyoruz.Bir değişken veya sabitler kullanılmaya başlamadan önce mutlaka tanımlanmış olmalıdır. Değişken tanımlanması şu şekilde yapılmaktadır;

<değişken ismi> veri tipi [NOT NULL ] [:= <ilk değer>]
employee_id NUMBER NOT NULL :=23

Sabitlere ilk kullanıldığı yerlerde değer atar ve bir daha atadığımız değeri değiştiremeyiz. Sabit kullanırken CONSTANT kelimesi kullanılır. Sabitlerin değişkenlerden farkı bununla birlikte ilk değer atamasının hemen yapılmasıdır

<sabit_ismi> veri tipi CONSTANT [NOT NULL] [:=<ilk değer>]

NOT :  Pl/Sql de değer atama := sembolleriyle yapılır. Pl/Sql blokları içinde select,insert,update,delete,commit ve rollback ifadeleri kullanılabilir.

DECLARE
  l_string  VARCHAR2(20);
  l_number  NUMBER(10);

  l_con_string  CONSTANT VARCHAR2(20) := 'This is a constant.';
BEGIN
  l_string := 'Variable';
  l_number := 1;

END;
/

PL/SQL procedure successfully completed.
DECLARE
  l_string  VARCHAR2(20);
  l_number  NUMBER(10);

  l_con_string  CONSTANT VARCHAR2(20) := 'This is a constant.';
BEGIN
  l_string := 'Variable';
  l_number := 1;

  l_con_string := 'This will fail';
END;
/

l_con_string := 'This will fail';
  *
ERROR at line 10:
ORA-06550: line 10, column 3:
PLS-00363: expression 'L_CON_STRING' cannot be used as an assignment target
ORA-06550: line 10, column 3:
PL/SQL: Statement ignored

NOT : PL/SQL de değişkenlerin kapsamı global ve local olmak üzere 2 çeşittir.Local değişkenler içteki(inner) bloklarda kullanılır ve dıştaki bloklarda kullanılmaz.Global değişkenler ise her tarafta kullanılabilir.Örnek;

DECLARE
   -- Global variables
   num1 number := 95;
   num2 number := 85;
BEGIN
   dbms_output.put_line('Outer Variable num1: ' || num1);
   dbms_output.put_line('Outer Variable num2: ' || num2);
   DECLARE
      -- Local variables
      num1 number := 195;
      num2 number := 185;
   BEGIN
      dbms_output.put_line('Inner Variable num1: ' || num1);
      dbms_output.put_line('Inner Variable num2: ' || num2);
   END;
END;
/

NOT : Atama yapılırken dikkat edeceğimiz bir diğer husus da into kalıbı. SQL ile çekip aldığımız değeri aynı tipte ki değişkenimize atıyoruz.

Declare
	v_salary number(10);
begin
	select salary into v_salary
	from hr.employees
	where employee_id = 100;
	dbms_output.put_line(v_salary);
end;
/
24000

PL/SQL procedure successfully completed.

Yararlı olması Dilegiyle …
Yazar : Mustafa Bektaş Tepe

Kaynaklar;
http://www.tutorialspoint.com/plsql/plsql_basic_syntax.htm
https://developersdaily.wordpress.com
http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/
https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/toc.htm
https://oracle-base.com/articles/misc/introduction-to-plsql

Loading


PL/SQL Block

PL/SQL, SQL cümlelerine blok yapılarının,şart cümlelerinin,dögülerin v.b diğer özelliklerin eklenmesiyle oluşmuş bir dildir.En temel yapı birimi bloktur.Bir veya birden fazla bloktan oluşabilirler.Akış kontrolü sayesinde yapısal dillere ait olan şart cümleleri ve döngüler PL/SQL bloklarında kullanılabilir. Aşağıdaki resimde bir PL/SQL bloğunun çalışması gösterilmiştir.

PL/SQL Block - PL/SQL Engine

Birbirleriyle ilişkili ifadelerin mantıksal bölümlere ayrılması demektir.Değişken tanımlamaları ve hata kontrolleride her blok içerisinde yapılabilir.PL/SQL blok yapısı 3 bölümden oluşur.


[DECLARE

-- delarations]

BEGIN

-- statements

[EXCEPTION

-- handlers

END;

(continue reading…)

Loading


PL/SQL Genel Bakış

PLSQL Procedural Language Structured Query Language ‘ nin kısa adıdır. 1980 ler’n sonunda Oracle tarafından geliştirilmeye başlanmıştır.

  • PL/SQL taşınabilir, yüksek performanslı transaction-processing dilidir.
  • PL/SQL veritabanı tarafından yorumlandığı için işletim sistemi bağımsızdır.
  • SQL’i doğrudan SQL*Plus üzerinden çalıştırabiliriz.
  • Başka programlar, veritabanından direk PL/SQL kodlarını çağırabilir.
  • PL/SQL’in sözdizimi ADA ve Pascal diline dayanmaktadır.

PL/SQL yapısal dillere ait özelliklerin SQL’e eklenmesiyle ortaya çıkan Oracle’a has bir dildir. İstemcisunucu ortamları tasarlama ile ağ üzerindeki dağıtık işlemler yapma ve transactionlar çalıştırma imkanı sunmaktadır. PL/SQL kullanarak her türlü SQL cümleciğini yazabilirsiniz. Dinamik SQL ifadeleri oluşturup, çalıştırabilirsiniz. PL/SQL programları genellikle veritabanında saklanırlar. Bu nedenle sorguların istemciden veritabanına gönderilmesi ve tekrar istemciye gönderilmesine gerek yoktur. Böylecilikle ağ trafiğini de azaltmış olur.
(continue reading…)

Loading


  • Sertifikasyon



  • Etiketler

  • Topluluklar

                     
                     
  • Copyright © 1996-2010 Mustafa Bektaş Tepe. All rights reserved.
    Türkçeleştirme Blogizma | AltyapıWordPress