Hurriyet

9 Kasım 2012 Cuma

PL/SQL Ders 4

PL/SQL Değişkenleri

    PL/SQL de bütün değişkenler, sabitler, büyük kayıtlar ve göstergeler(cursor) geçici kayıt alanlarında tutulurlar. Bunlarla veriler PL/SQL programının çalışması sırasında değiştirilir.

    Kaydetmek istediğimiz veriye göre, bu tutucu alanlara (bütün değişkenler, sabitler, büyük kayıtlar ve göstergeler(cursor)) birer isim ve veri tipi tanımlayabiliriz. Bu veri tipleri  sırasıyla aşağıdaki gibi olabilirler.

1-Number (n,m)
2-Char (n)
3-Varchar2 (n)
4-Date
5-Long
6-Long raw
7-Raw
8-Blob
9-Clob
10-Nclob
11-Bfile



   PL/SQL Değişkenleri ve Genel Bilgi

   Yukarıda bahsettiğimiz tutucular bir PL/SQL bloğu içinde değişebilirler.

Genel yazılım şekli (Syntax)  herhangi bir değişken tanımlamak için:

           Değişken_ismi veri_tipi;
           (Ör: abc number(3);)

·         Değişken_ismi değişkenin ismi.
·         Veri_tipi bir tane gerçek PL/SQL veritipidir.
·         Her değişken tanımı diğerlerinden farklı bir tanımdır ve “;” ile bitirilmelidir.

Örneğin herhangi bir çalışanlar tablosunun maaş kolonunu saklamak için bu şekilde bir değişken tanımlanabilinir.

Declare
maas number(3);

“maas” burada bir değişkendir ve sayı tipindedir ve uzunluğu 3’tür.

Eğer bir değişken “Not Null” yani boş değil olarak tanımlanırsa, o zaman ilk değer girilmek zorundadır.

Declare
maas number(3);
ad varchar(10)  Not Null :=” Insan Kaynaklari”;


Bir değişkenin değeri çalışma sırasında veya hata kısmında değişebilir. Bir değişkene 2 şekilde değer atayabiliriz.

1.      Direk atayabiliriz.
Değişken_ismi := değer

2.      Direk veritabanından sütunlardan çekiceğimiz değerlerden bir değişkenin içine atabiliriz.

  Select sütun_ismi into değişken_ismi from tablo_ismi [where şart];

      DECLARE 
      var_maas number(6); 
      var_calisan_id number(6) = 1116; 
      BEGIN
      SELECT maas 
      INTO var_maas 
      FROM calisanlar 
      WHERE calisan_id = var_calisan_id; 
      dbms_output.put_line(var_maas); 
      dbms_output.put_line('Calisanın maası yukarıdaki gibidir.'); 
      END; 
      /
        
      Yukarıdaki örnekte calisanlar tablosundan maas sütunundan gerekli veri 
çekilir ve ekrana yansıtılır. Çalişanın idsi 1116’dır. “/” ifadesi ise PL/SQL motor-
una PL/SQL programının çalıştırılmasını ifade eder.
               
              Değişkenlerin Alanı:
 
             PL/SQL de bloklar blok içinde tanımlanabilinir. Uygulama kısmı içinde 
birden fazla iç blok barındırabilir. Bu yüzden tanımlanan değişkenlerin  erişim
alanı önemlidir.  İçerideki bloklarda tanımlananlar dışardakilerin erişimine aç-
ık değildir. Tanımlanmalarına göre 2 tane tip değişken tanımlama şekli vardır.
              
            Lokal değişkenler(Local Variables): Bunlar içerideki bloklar içinde tan-
ımlanırlar ve dışardaki bloklardan erişilemezler.
 
            Global değişkenler(Global Variables):  Bunlar dıştaki bloklarlarda tan-
ımlanırlar ve içerideki değişkenler tarafından erişilebilinip,değiştirilebilinirler.
 
               Örneğin aşağıdaki örnekte 2 tane değişken yaratıyoruz. Bu 2 değiş-
ken de dış blokta yer alırlar. Sonrasında ise bu 2 değişkenin değeri 3 bir değ-
işkene aktarılır. 11. Satırdan sonra var_x’e erişilemez halbuki var_sayi1 ve 
var_sayi2  her yerden erişilebilinir durumdadır.
 
               1> DECLARE
        2>  var_num1 number; 
        3>  var_num2 number; 
        4> BEGIN 
        5>  var_sayi1 := 9; 
        6>  var_sayi2 := 8; 
        7>  DECLARE 
        8>   var_x number; 
        9>   BEGIN 
        10>    var_x := var_sayi1 * var_sayi2; 
        11>   END; 
        12> END; 
        13> /

Hiç yorum yok:

Yorum Gönder