PL / SQL Veri Türleri nedir?
Bir veri türü, belirli depolama formatı ve aralık kısıtlamalarıyla ilişkilendirilir. Oracle'da her bir değer veya sabite bir veri türü atanır.
Temel olarak, verilerin depolama ve işleme sırasında Oracle tarafından nasıl saklandığını, işlendiğini ve işlendiğini tanımlar.
PL / SQL ve SQL veri türleri arasındaki temel fark, PL / SQL veri türleri PL / SQL bloklarında kullanılırken, SQL veri türünün tablo sütunuyla sınırlı olmasıdır. Bu konuda daha sonra öğreticide daha fazlası.
PL / SQL'deki farklı Veri Türlerinin diyagramı aşağıdadır
Bu eğitimde öğreneceksiniz-
- KARAKTER Veri Türü
- NUMBER Veri Türü
- BOOLEAN Veri Türü
- TARİH Veri Türü
- LOB Veri Türü
KARAKTER Veri Türü:
Bu veri türü temelde alfasayısal karakterleri dize biçiminde saklar.
Değişmez değerler, CHARACTER veri türüne atanırken her zaman tek tırnak içine alınmalıdır.
Bu karakter veri türü ayrıca aşağıdaki şekilde sınıflandırılır:
- CHAR Veri türü (sabit dizi boyutu)
- VARCHAR2 Veri türü (değişken dize boyutu)
- VARCHAR Veri türü
- NCHAR (yerel sabit dize boyutu)
- NVARCHAR2 (yerel değişken dize boyutu)
- UZUN ve UZUN HAM
Veri tipi | Açıklama | Sözdizimi |
---|---|---|
CHAR | Bu veri türü, dize değerini depolar ve dizenin boyutu, değişkeni bildirirken sabitlenir.
|
grade CHAR;manager CHAR (10):= 'guru99';Sözdizimi Açıklaması:
|
VARCHAR2 | Bu veri türü dizeyi saklar, ancak dizenin uzunluğu sabit değildir.
|
manager VARCHAR2(10) := ‘guru99';Sözdizimi Açıklaması:
|
VARCHAR | Bu, VARCHAR2 veri türü ile eş anlamlıdır.
|
manager VARCHAR(10) := ‘guru99';Sözdizimi Açıklaması:
|
NCHAR | Bu veri tipi CHAR veri tipiyle aynıdır, ancak karakter seti ulusal karakter setinin olacaktır.
|
native NCHAR(10);Sözdizimi Açıklaması:
|
NVARCHAR2 | Bu veri tipi, VARCHAR2 veri tipiyle aynıdır, ancak karakter seti ulusal karakter setinde olacaktır.
|
Native var NVARCHAR2(10):='guru99';Sözdizimi Açıklaması:
|
UZUN ve UZUN DEMİR | Bu veri türü, maksimum 2GB boyutuna kadar büyük metin veya ham verileri depolamak için kullanılır.
|
Large_text LONG;Large_raw LONG RAW;Sözdizimi Açıklaması:
|
NUMBER Veri Türü:
Bu veri türü sabit veya kayan noktalı sayıları 38 basamağa kadar hassasiyette depolar. Bu veri türü, yalnızca sayı verilerini içerecek alanlarla çalışmak için kullanılır. Değişken, hassas ve ondalık basamak ayrıntılarıyla veya bu bilgiler olmadan bildirilebilir. Bu veri türü için atama yapılırken değerlerin tırnak içine alınması gerekmez.
A NUMBER(8,2);B NUMBER(8);C NUMBER;
Sözdizimi Açıklaması:
- Yukarıda, ilk bildirim, 'A' değişkeninin toplam hassasiyet 8 ve ondalık basamak 2 ile sayı veri türünde olduğunu bildirir.
- İkinci bildirim, 'B' değişkeninin toplam hassasiyet 8 olan ve ondalık basamak içermeyen sayı veri türünde olduğunu bildirir.
- Üçüncü bildirim en genel olanıdır, 'C' değişkeninin kesinlik veya ondalık basamaklarda herhangi bir sınırlama olmaksızın sayı veri türünde olduğunu bildirir. Maksimum 38 haneye kadar sürebilir.
BOOLEAN Veri Türü:
Bu veri türü mantıksal değerleri depolar. DOĞRU veya YANLIŞ'ı temsil eder ve çoğunlukla koşullu ifadelerde kullanılır. Bu veri türü için atama yapılırken değerlerin tırnak içine alınması gerekmez.
Var1 BOOLEAN;
Sözdizimi Açıklaması:
- Yukarıda, 'Var1' değişkeni BOOLEAN veri türü olarak bildirilmiştir. Kodun çıktısı, koşul kümesine bağlı olarak doğru veya yanlış olacaktır.
TARİH Veri Türü:
Bu veri türü, değerleri tarih biçiminde, tarih, ay ve yıl olarak saklar. Tarihle birlikte DATE veri türü ile bir değişken tanımlandığında, zaman bilgisini tutabilir ve varsayılan olarak saat bilgisi belirtilmezse 12:00:00 olarak ayarlanır. Bu veri türü için atama yapılırken değerlerin tırnak içine alınması gerekir.
Giriş ve çıkış için standart Oracle zaman formatı 'DD-MON-YY'dir ve yine oturum düzeyinde NLS_PARAMETERS (NLS_DATE_FORMAT) olarak ayarlanır.
newyear DATE:='01-JAN-2015';current_date DATE:=SYSDATE;
Sözdizimi Açıklaması:
- Yukarıdaki, değişken 'NewYear' in TARİH veri türü olarak bildirilen ve 1 Ocak değeri atanır st 2015 tarih.
- İkinci bildirim, current_date değişkenini DATE veri türü olarak bildirir ve değeri geçerli sistem tarihiyle birlikte atar.
- Her iki değişken de zaman bilgisini tutar.
LOB Veri Türü:
Bu veri türü temel olarak, büyük yapılandırılmamış veri blokları gibi görüntüler, multimedya dosyaları, vb. Depolamak ve işlemek için kullanılır. Oracle, LONG veri türünden daha esnek olduğu için LONG veri türü yerine LOB'u tercih eder. Aşağıdakiler, LOB'nin LONG veri türüne göre birkaç temel avantajıdır.
- LONG veri türüne sahip bir tablodaki sütun sayısı 1 ile sınırlıdır, oysa bir tablonun LOB veri türüne sahip birkaç sütun üzerinde kısıtlaması yoktur.
- Veri arabirimi aracı, veri çoğaltma sırasında tablonun LOB veri türünü kabul eder, ancak tablonun UZUN sütununu atlar. Bu UZUN sütunların manuel olarak çoğaltılması gerekir.
- LONG sütunun boyutu 2 GB iken LOB 128 TB'a kadar depolayabilir.
- Oracle, her sürümünde LOB veri türünü modern gereksinime göre sürekli olarak iyileştirirken, LONG veri türü sabittir ve çok fazla güncelleme almamaktadır.
Bu nedenle, LONG veri türü yerine LOB veri türünü kullanmak her zaman iyidir. Aşağıda farklı LOB veri türleri verilmiştir. 128 terabayta kadar depolayabilirler.
- BLOB
- CLOB ve NCLOB
- BFILE
Veri tipi | Açıklama | Sözdizimi |
---|---|---|
BLOB |
Bu veri türü, LOB verilerini ikili dosya formatında maksimum 128 TB boyutuna kadar depolar. Bu, verileri karakter seti ayrıntılarına göre depolamaz, böylece multimedya nesneleri, görüntüler vb. Gibi yapılandırılmamış verileri depolayabilir. |
Binary_data BLOB; Sözdizimi Açıklaması:
|
CLOB ve NCLOB |
CLOB veri türü, LOB verilerini karakter setinde saklarken, NCLOB verileri yerel karakter setinde saklar. Bu veri türleri karakter seti tabanlı depolama kullandıklarından, bunlar bir karakter dizisine konulamayan multimedya, resim vb. Verileri depolayamazlar. Bu veri türlerinin maksimum boyutu 128 TB'tır. |
Charac_data CLOB; Sözdizimi Açıklaması:
|
BFILE |
|
Özet
PL / SQL'de bulunan farklı basit veri türlerini sözdizimleriyle birlikte ele aldık. Diğer konularda karmaşık veri türleri hakkında bilgi edineceğiz.