PL/SQL programlarında Değişkenler ve Değişmezler

PL/SQL programlarında Değişkenler ve Değişmezler
Administrator tarafından yazıldı
Çarşamba, 06 Ağustos 2008 19:29
PL/SQL 'da diğer tüm programlama dillerinde olduğu gibi, tanımlama yapabilmek için değişkenler veya değişmezler kullanılır. Bir değişken yada sabitin kullanılabilmesi için, öncelikle DECLARE bölümü içinde tanımlanmış olması gerekiyor. Örneğin, ADI ve HASTA_NO isimli iki değişkeni programa tanıtmak için aşağıdaki tanım yapılır:
DECLARE adı VARCHAR2(30); hasta_no NUMBER(15);
Bir değişken bu şekilde tanımlandıktan sonra, program içinde bu değişkene belirli bir değer atanabilir, yani bir değer yerleştirilebilir. Bir değişkene bir değeri atamak için ":=" işareti kullanılır. Örneğin, hasta_no değişkenine 20092129632 değerini atamak için şöyle bir tanım yapılır:
hasta_no := 20092129632;
Bir değişkene program içinde bu şekilde bir atama yapılabileceği gibi, gerektiğinde bildirimler bölümünde bir başlangıç değer atanabilir. Örneğin, musteri_no değişkenine aşağıda görüldüğü gibi, bildirimler bölümünde bir değer atanabilir.
Bu tanımdan şu anlaşılmaktadır: Program içinde adıve hasta_no isimli iki değişken kullanılacaktır. adı isimli değişkenin veri türü VARCHAR2 ve uzunluğu 30 karakter olarak belirlenmiştir. musteri_no isimli değişken ise 15 uzunluklu bir NUMBERveri türüne sahiptir. Veri türlerini daha ayrıntılı biçimde ele alarak inceleyeceğiz.
PL/SQL programlarında değişkenler yanı sıra değişmezler (sabitler) de tanımlanabilir. Değişmezler, adından da anlaşılabileceği gibi program içinde değeri değiştirilemeyen olanaklardır. Değişmezleri tanımlamak için CONSTANT anahtar kelimesi kullanılır. Örneğin, PI isimli bir sabit şu şekilde tanımlanabilir:
DECLARE PISAYISI CONSTANT REAL :=3.14159
Buradan şu anlaşılmaktadır. PISAYISI isimli değişmez program içinde kullanılacaktır. Bu değişmezin değeri 3.14159 dur ve veri türü REAL olarak belirlenmiştir. PL/SQL blokları içinde bu değer değiştirilmeye çalışılmaz.
! Örnek içerisinde bir grup değişken ve sabit tanımı yapılmaktadır.
DECLARE ucret NUMBER(8,2); hasta_no NUMBER(15); hasta_numarasi NUMBER :=20091223097;