Oracle PL/SQL Veri Türleri: Boolean, Sayı, Tarih [Örnek]

PL/SQL Veri Tipleri Nedir?

Veri tipleri PL/SQL'de verilerin nasıl saklanacağını, işleneceğini ve işleneceğini tanımlamak için kullanılır. Oracle Veri depolama ve işleme sırasında. Veri türleri, belirli depolama formatı ve aralık kısıtlamalarıyla ilişkilendirilir. İçinde Oracle, her değere veya sabite bir veri türü atanır.

PL/SQL ve arasındaki temel fark SQL veri türleri, SQL veri türü tablo sütunuyla sınırlıdır, PL/SQL veri türleri ise tablo sütununda kullanılır. PL/SQL blokları. Bu konuya eğitimin ilerleyen kısımlarında değineceğiz.

Aşağıda farklı diyagramlar gösterilmektedir Oracle PL/SQL Veri Türleri:

PL/SQL Veri Türleri
PL/SQL'de Farklı Veri Türleri

PL/SQL KARAKTER Veri Türü

Bu veri türü temel olarak 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 dize 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
TANK Bu veri türü dize değerini saklar ve dizenin boyutu, bildirildiği anda sabitlenir. değişken.

  • Oracle Değişken, kendisi için bildirilen boyutun tamamını kaplamadıysa, değişken boş olarak doldurulur, Dolayısıyla Oracle değişken onu tam olarak doldurmamış olsa bile, belirtilen boyut için belleği ayıracaktır.
  • Bu veri türü için boyut sınırlaması 1-2000 bayttır.
  • CHAR veri tipi, sabit veri boyutunun işleneceği yerlerde kullanıma daha uygundur.
grade CHAR;
manager CHAR (10):= 'guru99';

Sözdizimi Açıklaması:

  • İlk bildirim ifadesi, maksimum 1 bayt boyutunda (varsayılan değer) CHAR veri tipinin 'grade' değişkenini bildirdi.
  • İkinci bildirim ifadesi, maksimum boyutu 10 olan CHAR veri tipinin 'yönetici' değişkenini ilan etti ve 99 baytlık 'guru6' değerini atadı. Oracle bu durumda hafızayı 10 bayt yerine 6 bayt ayıracaktır.
VARCHAR2 Bu veri türü dizeyi saklar ancak dizenin uzunluğu sabit değildir.

  • Bu veri türü için boyut sınırlaması, tablo sütun boyutu için 1-4000 bayt ve değişkenler için 1-32767 bayttır.
  • Boyut, değişken bildirimi sırasında her değişken için tanımlanır.
  • Fakat Oracle belleği yalnızca değişken tanımlandıktan sonra ayıracaktır, yani, Oracle bildirim bölümünde bir değişken için verilen boyuttan ziyade, bellek ayırma için yalnızca bir değişkende saklanan dizenin gerçek uzunluğunu dikkate alacaktır.
  • Bellek kullanımını optimize etmek için CHAR veri türü yerine VARCHAR2'yi kullanmak her zaman iyidir.
manager VARCHAR2(10) := ‘guru99';

Sözdizimi Açıklaması:

  • Yukarıdaki beyan beyanı, VARCHAR2 veri tipinin 'yönetici' değişkenini maksimum 10 boyutunda ilan etti ve 99 baytlık 'guru6' değerini atadı. Oracle bu durumda yalnızca 6 baytlık bellek ayıracaktır.
VARCHAR Bu, VARCHAR2 veri türüyle eş anlamlıdır.

  • Davranış değişikliklerinden kaçınmak için VARCHAR yerine VARCHAR2'yi kullanmak her zaman iyi bir uygulamadır.
manager VARCHAR(10) := ‘guru99';

Sözdizimi Açıklaması:

  • Yukarıdaki beyan beyanı, VARCHAR veri tipinin 'yönetici' değişkenini maksimum 10 boyutunda ilan etti ve 99 baytlık 'guru6' değerini atadı. Oracle bu durumda yalnızca 6 baytlık bellek ayıracaktır. (VARCHAR2'ye benzer)
NCHAR Bu veri tipi CHAR veri tipi ile aynıdır ancak karakter seti ulusal karakter setinin aynısıdır.

  • Bu karakter seti, NLS_PARAMETERS kullanılarak oturum için tanımlanabilir.
  • Karakter seti UTF16 veya UTF8 olabilir.
  • Boyut sınırlaması 1-2000 bayttır.
native NCHAR(10);

Sözdizimi Açıklaması:

  • Yukarıdaki bildirim ifadesi, maksimum boyutu 10 olan NCHAR veri türündeki 'native' değişkenini bildirir.
  • Bu değişkenin uzunluğu, karakter setinde tanımlandığı gibi bayt başına (uzunluk sayısına) bağlıdır.
NVARCHAR2 Bu veri tipi VARCHAR2 veri tipi ile aynıdır ancak karakter seti ulusal karakter setinden olacaktır.

  • Bu karakter seti, NLS_PARAMETERS kullanılarak oturum için tanımlanabilir.
  • Karakter seti UTF16 veya UTF8 olabilir.
  • Boyut sınırlaması 1-4000 bayttır.
Native var NVARCHAR2(10):='guru99';

Sözdizimi Açıklaması:

  • Yukarıdaki bildirim ifadesi, maksimum boyutu 2 olan NVARCHAR10 veri türündeki 'Native_var' değişkenini bildirir.
UZUN ve UZUN Bu veri türü, maksimum 2 GB boyutuna kadar büyük metin veya ham verileri depolamak için kullanılır.

  • Bunlar çoğunlukla veri sözlüğünde kullanılır.
  • LONG veri türü karakter seti verilerini depolamak için kullanılırken LONG RAW, verileri ikili formatta depolamak için kullanılır.
  • LONG RAW veri türü medya nesnelerini, görüntüleri vb. kabul ederken, LONG yalnızca karakter seti kullanılarak saklanabilen veriler üzerinde çalışır.
Large_text LONG;
Large_raw LONG RAW;

Sözdizimi Açıklaması:

  • Yukarıdaki bildirim ifadesi LONG veri tipindeki 'Large_text' ve LONG RAW veri tipindeki 'Large_raw' değişkenlerini bildirir.

Not: LONG veri türünün kullanılması önerilmez. Oracle. Bunun yerine LOB veri tipi tercih edilmelidir.

PL/SQL NUMARASI Veri Türü

Bu veri türü, 38 basamağa kadar kesinlikteki sabit veya kayan nokta sayılarını depolar. Bu veri türü, yalnızca sayı verileri içerecek alanlarla çalışmak için kullanılır. Değişken, kesinlik ve ondalık basamak ayrıntılarıyla veya bu bilgiler olmadan bildirilebilir. Bu veri türü için atama yaparken değerlerin tırnak işaretleri içine alınması gerekmez.

A NUMBER(8,2);
B NUMBER(8);
C NUMBER;

Sözdizimi Açıklaması:

  • Yukarıdaki ilk bildirimde 'A' değişkeninin toplam hassasiyeti 8 ve ondalık basamak sayısı 2 olan sayı veri türünde olduğu bildirilmektedir.
  • İkinci bildirim, 'B' değişkeninin toplam hassasiyeti 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 hassasiyet veya ondalık basamaklarda herhangi bir kısıtlama olmaksızın sayı veri türünde olduğunu bildirir. En fazla 38 basamak alabilir.

PL/SQL BOOLEAN Veri Türü

Bu veri türü mantıksal değerleri saklar. Oracle Boolean Veri Türü, DOĞRU veya YANLIŞ'ı temsil eder ve çoğunlukla koşullu ifadelerde kullanılır. Bu veri türü için atama yaparken değerlerin tırnak içine alınmasına gerek yoktur.

Var1 BOOLEAN;

Sözdizimi Açıklaması:

  • Yukarıda 'Var1' değişkeni BOOLEAN veri türü olarak bildirildi. Kodun çıktısı, ayarlanan koşula bağlı olarak doğru veya yanlış olacaktır.

PL/SQL DATE Veri Türü

Bu veri türü değerleri tarih formatında, tarih, ay ve yıl olarak saklar. Bir değişken DATE veri türüyle birlikte tarihle tanımlandığında, zaman bilgisini tutabilir ve eğer belirtilmemişse varsayılan olarak saat bilgisi 12:00:00 olarak ayarlanır. Bu veri türü için atama yaparken değerlerin tırnak içine alınması gerekir.

Standart Oracle Giriş ve çıkış için zaman formatı 'GG-MON-YY'dir ve oturum düzeyinde tekrar NLS_PARAMETERS (NLS_DATE_FORMAT) olarak ayarlanır.

newyear DATE:='01-JAN-2015';
current_date DATE:=SYSDATE;

Sözdizimi Açıklaması:

  • Yukarıda 'newyear' değişkeni DATE veri türü olarak bildirilmiş ve 1 Ocak değeri atanmıştır.st, 2015 tarihi.
  • İkinci bildirim, current_date değişkenini DATE veri tipinde bildirir ve değere geçerli sistem tarihi atanır.
  • Bu değişkenlerin her ikisi de zaman bilgisini tutar.

PL/SQL LOB Veri Türü

Bu veri türü esas olarak resimler, multimedya dosyaları vb. gibi büyük yapısal olmayan veri bloklarını depolamak ve işlemek için kullanılır. Oracle LONG veri tipine göre daha esnek olduğundan LONG veri tipi yerine LOB'u tercih eder. LOB'un LONG veri türüne göre birkaç temel avantajı aşağıdadır.

  • LONG veri tipinde bir tablodaki sütun sayısı 1 ile sınırlıdır, LOB veri tipinde ise tablonun sütun sayısında herhangi bir kısıtlama yoktur.
  • Veri arayüzü aracı, veri çoğaltma sırasında tablonun LOB veri türünü kabul eder, ancak tablonun LONG sütununu atlar. Bu UZUN sütunların manuel olarak çoğaltılması gerekir.
  • LONG sütununun boyutu 2 GB'tır, LOB ise 128 TB'a kadar veri depolayabilir.
  • Oracle LOB veri tipini her sürümünde modern gereksinimlere göre sürekli olarak geliştirirken, LONG veri tipi sabittir ve çok fazla güncelleme almaz.

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 depolama yapabilirler.

  1. BLOB
  2. CLOB ve NCLOB
  3. BDOSYA
Veri tipi Açıklama Sözdizimi
BLOB Bu veri türü, LOB verilerini 128 TB'lık maksimum boyuta kadar ikili dosya biçiminde depolar. Bu, karakter kümesi ayrıntılarına dayalı verileri depolamaz, böylece multimedya nesneleri, resimler vb. gibi yapılandırılmamış verileri depolayabilir.
Binary_data BLOB;

Sözdizimi Açıklaması:

  • Yukarıda 'Binary_data' değişkeni bir BLOB olarak bildirildi.
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ığından, bir karakter dizisine yerleştirilemeyen multimedya, resim vb. verileri depolayamazlar. Bu veri türlerinin maksimum boyutu 128 TB'dir.
Charac_data CLOB;

Sözdizimi Açıklaması:

  • Yukarıda 'Charac_data' değişkeni CLOB veri türü olarak bildirildi.
BDOSYA
  • BFILE, yapılandırılmamış ikili formattaki verileri veritabanı dışında bir işletim sistemi dosyası olarak depolayan veri türleridir.
  • BFILE'ın boyutu sınırlı bir işletim sistemi içindir ve bunlar salt okunur dosyalardır ve değiştirilemez.

ÖZET

Mevcut olan farklı basit veri türlerini ele aldık. PL / SQL sözdizimleriyle birlikte. Karmaşık veri tiplerini daha sonraki konularda öğreneceğiz.