pl sql data types variables
Bu eğitici, programlama örnekleri yardımıyla PL SQL Veri Türleri, Değişkenleri, Sabitler ve Değişmezlerin neler olduğunu ayrıntılı olarak açıklar:
Önceki öğreticide PL / SQL serisi PL / SQL'i özellikleri ve temel sözdizimi örneklerle tanıttık.
Bu yazıda, PL / SQL'in desteklediği farklı veri türlerini tartışacağız. Ayrıca, PL SQL'de yaygın olarak kullanılan değişkenleri ve sabitleri inceleyeceğiz.
PL / SQL değişmezleri de önemlidir ve pratik kullanımının yanı sıra bu eğitimde bunu öğreneceğiz.
Ne öğreneceksin:
Pl SQL Veri Türleri
PL / SQL'in tüm değişkenleri, sabitleri, parametreleri, değer aralığını, kısıtlamalarını ve depolandıkları biçimi tanımlayan belirli bir veri türüne sahiptir. PL / SQL, LOB, Skaler, Referans ve Bileşik olarak da bilinen Büyük Nesne gibi veri türlerini içerir.
Skaler Veri Türleri
Öncelikle aşağıdakilerden oluşan Skaler Veri Türlerini tartışalım:
- SAYISAL matematiksel işlemlerin yapıldığı değerlerle ilgilenen veri türleri.
- BOOLE mantıksal işlemlerin yapıldığı değerlerle ilgilenen veri türleri.
- KARAKTER alfanümerik olanlardan oluşan değerlerle ilgilenen veri türleri.
- TARİH SAAT veri tipleri.
Sayısal Veri Türleri
PL / SQL'in Sayısal veri türü aşağıdakilerden oluşur:
- BINARY_FLOAT
- BINARY_INTERGER
- PLS_INTEGER
- BINARY_DOUBLE
- ONDALIK
- SAYISAL
- NUMARA
- YÜZER
- INT
- TAM
- ÇİFT HASSAS
- GERÇEK
- SMALLINT
- ARALIK
Sayısal veri türlerine sahip Kod Snippet'i:
DECLARE numA INTEGER := 10; numB NUMBER(10) := 10.8; numC DOUBLE PRECISION := 10.6; BEGIN dbms_output.put_line('The numA is: ' || numA); dbms_output.put_line('The numB is: ' || numB); dbms_output.put_line('The numC is: ' || numC); END; /
Yukarıdaki kodda sırasıyla numA, numB ve numC değişkenleri ile INTEGER, NUMBER ve DOUBLE PRECISION veri türlerine sahibiz. numB, 10 duyarlılığına sahip bir sayı veri türüne sahiptir ve ondalıktan sonra rakam içermez.
Yukarıdaki kodun çıktısı şöyle olmalıdır:
Karakter Veri Tipleri
PL / SQL karakter veri türleri aşağıda listelendiği gibi aşağıdakilerden oluşur:
# 1) VARCHAR2: Bu veri türü dizeyi saklayacaktır, ancak dizgi uzunluğu bildirim sırasında sabit değildir. Varchar2, 32767 bayta kadar maksimum boyuta sahiptir. Bir varchar2 veritabanı sütununun maksimum genişliği 4000 bayttır.
Sözdizimi:
test VARCHAR2 (20): = 'Yazılım Testi';
# 2) KARAKTER: Bu veri türü dizeyi depolar ancak dizge uzunluğu bildirim sırasında sabittir. Char, 32767 bayta kadar maksimum boyuta sahiptir. Bir char veritabanı sütununun maksimum genişliği 2000 bayttır.
Sözdizimi:
test CHAR2 (20): = 'Yazılım Testi';
# 3) NCHAR: Bu CHAR'a benzer, ancak yalnızca ulusal karakter kümesini saklayacaktır. NCHAR, 32767 bayta kadar maksimum boyuta sahiptir. Bir NCHAR veritabanı sütununun maksimum genişliği 2000 bayttır.
Sözdizimi:
test NCHAR2 (20);
# 4) UZUN: Bu, değişken uzunluklu karakter dizilerini saklayacaktır. Uzun, 32760 bayta kadar maksimum boyuta sahiptir.
Sözdizimi:
UZUN test edin;
# 5) UZUN SIRA: Bu, verileri ikili biçimde veya bayt dizelerinde depolar. Uzun satırın maksimum boyutu 32760 bayta kadardır.
animasyonları çevrimiçi olarak nerede izleyebilirim
Sözdizimi:
UZUN SATIR testi;
# 6) ROWID: Bunlar, normal bir tablodaki bir satırın adresine işaret eden bir satırın fiziksel tanımlayıcılarıdır.
# 7) UROWID: Bunlar, satırların evrensel tanımlayıcılarıdır.
# 8) NVARCHAR2: Bu, VARCHAR2'ye benzer, ancak yalnızca ulusal karakter kümesini saklayacaktır. Bir nvarchar2 veritabanı sütununun maksimum genişliği 4000 bayttır.
# 9) VARCHAR: Bu, VARCHAR2'ye benzer.
Sözdizimi:
test VARCHAR2 (20): = 'Yazılım Testi';
Şimdi PL / SQL karakter veri türlerini tablo formatında tartışalım.
Sl. Yok hayır. | Veri tipi | Açıklama |
---|---|---|
7 | UZUN | Bu, LONG'a benzer. Bu veriler PL / SQL tarafından yorumlanmaz. |
1 | VARCHAR2 | Bu, değişken uzunluktaki karakter verilerini depolamak için kullanılır. Boyut, bildirim sırasında değişkenler için belirlenir. Etkili bellek kullanımı için her zaman VARCHAR2 kullanılması önerilir. |
iki | CHAR | Bu, sabit uzunluktaki karakter verilerini saklamak için kullanılır. Boyut, bildirim sırasında değişkenler için belirlenir. Sabit boyutlu veriler kullanılacaksa her zaman CHAR kullanılması önerilir. |
3 | VARCHAR | Bu, VARCHAR2'ye benzer. Kodun uygulanması sırasında her zaman VARCHAR kullanılması önerilir. |
4 | NCHAR | Bu, sabit uzunluktaki ulusal karakter verisine sahip karakter verilerini saklamak için kullanılır. Karakter seti UTF 8 veya UTF 16'dır. Her zaman CHAR'ı NCHAR'a dönüştürmeniz önerilir. Ancak NCHAR'ı CHAR'a dönüştürmek veri kesilmesine neden olabilir. |
5 | NVARCHAR2 | Bu, değişken uzunluktaki ulusal karakter verisine sahip karakter verilerini saklamak için kullanılır. Bu, VARCHAR2'ye benzer. Karakter seti UTF 8 veya UTF 16'dır. VARCHAR2'yi NVARCHAR2'ye dönüştürmeniz her zaman önerilir. Ancak NVARCHAR2'yi VARCHAR2'ye dönüştürmek veri kesilmesine neden olabilir. |
6 | UZUN | Bu bir veri sözlüğünde kullanılır. Bu, öncelikle karakter seti verilerinde kullanılır. |
Boolean Veri Türleri
Bu veri türleri PL / SQL, mantıksal değerleri depolamak için kullanılabilir. DOĞRU, YANLIŞ ve NULL, Boole değerleridir.
SQL'de BOOLEAN veri türleri yoktur. Bu nedenle aşağıdaki senaryolarda bunlardan kaçınmamız gerekir:
- SQL'den oluşturulan PL / SQL ifadeleri.
- PL / SQL'in varsayılan işlevleri.
- Normal SQL ifadeleri.
Sözdizimi:
test Boolean;
Test değişkeninin çıktısı, belirli kriterlere bağlı olarak DOĞRU veya YANLIŞ olacaktır.
Tarih Saat Veri Türleri
Bu veri türleri, sabit tarih ve saat uzunlukları için kullanılır. Uygun tarih aralığı MÖ 1 Ocak 4712 ile MS 31 Aralık 9999 arasında başlar ve zaman saniye cinsinden tanımlanır. Yerleşik tarih biçimi GG-MON-YY şeklindedir ve ayın günü, kısaca ay adı ve ardından yılın son iki basamağı için ayrılan çift haneleri belirtir.
TARİH; saniye, dakika, gün, saat, ay, yıl ve yüzyıldan oluşur. Bu alanların her birinin aşağıda listelendiği gibi tanımlanmış belirli bir aralığı vardır:
- İKİNCİ: 00 ile 59.9 aralığında tanımlanır.
- DAKİKA: 00 ile 59 aralığında tanımlanır.
- SAAT: 00 ile 23 aralığında tanımlanır.
- GÜN: 01 ile 31 aralığında tanımlanmıştır.
- AY: 01 ile 12 arasında tanımlanır.
- YIL: -4712 ile 9999 aralığında tanımlanır (0'ı içermez).
- TIMEZONE_HOUR: -12 ile 14 aralığında tanımlanır.
- TIMEZONE_MINUTE: 00 ile 59 aralığında tanımlanır.
- TIMEZONE_REGION
- TIMEZONE_ABBR
Sözdizimi:
TIMESTAMP '1990-06-04 9:00:00 US/Pacific' TIMESTAMP '1990-06-04 01:30:00 US/Pacific PDT'
Burada, semboller kullanarak saat dilimini tanımladık. ABD / Pasifik veya PDT spesifikasyonu, belirli bir saat dilimini tanımlamak için kullanılır. PDT formu daha çok gün ışığından yararlanma saatine geçerken yol gösterici olduğu için kullanılmaktadır.
LOB Veri Türleri
Şimdi videolar, sesler, grafikler, resimler ve benzerlerinden oluşan devasa veri yığınlarıyla ilgilenen LOB veri türlerini tartışalım.
LOB veri türlerinin uzun veri türlerine göre çok sayıda avantajı vardır. Aşağıda listelenmiştir:
- Uzun, 2 GB, LOB ise 128 TB kapasitelidir.
- Bir tablo, LOB veri türünün çok sayıda sütunu olabilirken, LONG türünde tek bir sütun içerebilir.
- LOB veri türü, Oracle'dan sürekli iyileştirmeler ve güncellemeler geçirirken, LONG veri türü pek çok iyileştirme ve güncellemeye sahip değildir.
LOB veri türleri aşağıda listelenmiştir:
- BFILE: Bu, yapılandırılmamış verileri ikili biçimde veritabanından bir işletim sistemi dosyası olarak tutmak için kullanılır.
- NCLOB: Bu, veritabanında büyük NCHAR verilerini tutmak için kullanılır.
- CLOB: Bu, veri tabanında çok büyük karakter türü verileri tutmak için kullanılır.
Sözdizimi:
İkili CLOB;
- BLOB: Bu, veritabanında çok büyük ikili verileri tutmak için kullanılır.
Sözdizimi:
İkili BLOB;
Bazı veri türleri ile Kod Uygulaması:
DECLARE m CHAR(20) := 'softwareTest!'; n VARCHAR2(30) := 'plsql'; o NCHAR(30) := 'plsql datatypes'; p NVARCHAR2(30) := 'plsql literals'; presentDt DATE:= SYSDATE; a INTEGER := 16; b NUMBER(20) := 11.2; c DOUBLE PRECISION := 14.7; BEGIN dbms_output.put_line('The char datatype is: ' || m); dbms_output.put_line('The varchar datatype is: ' || n); dbms_output.put_line('The nchar datatype is: ' || o); dbms_output.put_line('The nvarchar2 datatype is: ' || p); dbms_output.put_line('The current date is: ' || presentDt); dbms_output.put_line('The number a is: ' || a); dbms_output.put_line('The number b is: ' || b); dbms_output.put_line('The number c is: ' || c); END; /
Yukarıdaki kodun çıktısı şöyle olmalıdır:
PL SQL Değişkenleri
PL / SQL değişken adları, otuzdan fazla olmayan alfasayısal karakterlerden oluşan adlandırma kuralını izler. PL / SQL büyük / küçük harfe duyarlı değildir ve anahtar kelimeler değişken olarak kullanılmamalıdır.
Değişken adı anlamlı olmalı ve ardından bir alt çizgi (_), sayı veya dolar ($) gelmelidir.
PL SQL Değişken Beyanı
PL / SQL değişkenleri, bildirim alanında veya bir pakette global bir değişken olarak mevcut olmalıdır. PL / SQL, değişkenler için bellek ayırır ve depolamanın konumu değişken adı ile tanımlanır.
Değişken bildirimi için sözdizimi:
variable_name (CONSTANT) datatype (NOT NULL) (:= | DEFAULT initial_value)
Burada değişken_adı, gerçek bir PL / SQL tanımlayıcısıdır ve veri türü, kullanıcı tanımlı veya onaylanmış bir PL / SQL veri türü olabilir.
Değişken bildirimi için kod uygulaması:
DECLARE v_namis VARCHAR2(10); n_addressis NUMBER(10,3); BEGIN dbms_output.put_line('The name is: ' || v_namis); dbms_output.put_line('The address is: ' || n_addressis); END;
Yukarıdaki kodun çıktısı şöyle olmalıdır:
Lütfen aklınızda bulundurun, sayı veri türünün hem kesinliğinden hem de boyutundan bahsetmiştik. Bu, kısıtlı bildirim olarak bilinir. Bu tür bir bildirim daha az bellek tüketir.
PL / SQL Değişken Başlatma
Varsayılan olarak, PL / SQL bir değişkenin değerini NULL olarak alır. Bununla birlikte, bir değişkeni NULL ile başlatmak istemiyorsak, bu DEFAULT anahtar sözcüğü kullanılarak veya atama operatörü ile gerçekleştirilebilir.
Sözdizimi:
num integer := 50; test varchar(40) DEFAULT 'Software Test Help';
Bir değişkenin NULL değerine sahip olmaması gerektiğini NOT NULL kısıtlamasından bahsederek de tanımlayabiliriz. Bununla birlikte, NOT NULL kısıtı kullanılıyorsa, değişken için bir değer belirlememiz gerekir.
Değişken başlatma ile kod uygulaması:
DECLARE v_namis VARCHAR2(40) := 'softwareTest!'; n_couris VARCHAR2(30) := 'plsql'; BEGIN dbms_output.put_line('The value is: ' || v_namis); dbms_output.put_line('The value is: ' || n_couris); END; /
Yukarıdaki kodun çıktısı şöyle olmalıdır:
Atama konseptiyle kod uygulaması:
DECLARE v_namis VARCHAR2(40); n_couris VARCHAR2(30); BEGIN v_namis := 'softwareTest!'; n_couris := 'plsql'; dbms_output.put_line('The value is: ' || v_namis); dbms_output.put_line('The value is: ' || v_couris); END; /
Burada, değişkene değer atamak için atama operatörü (=) kullanılır.
Yukarıdaki kodun çıktısı şöyle olmalıdır:
PL / SQL Değişken Kapsamı
Bir PL / SQL bloğu, iç kod bloklarına sahip olabilir. Bildirilen bir değişken, iç bloğun bir parçasıysa, dış blok tarafından kullanılamaz. Ancak, dış bloğun bir parçası olan bir değişken, iç kod bloğunda işlenebilir.
Bu tür değişkenler aşağıda açıklanmıştır:
- Global değişkenler: Dış blokta veya pakette bildirilen değişkenler.
- Yerel değişkenler: İç kod bloğunda bildirilen ve dış bloktan erişilemeyen değişkenler.
Global ve yerel değişkenlerle kod uygulaması:
DECLARE -- Global variables val number := 10; BEGIN dbms_output.put_line('Global variable is : ' || val); DECLARE -- Local variables val number := 100; BEGIN dbms_output.put_line('Local variable is: ' || val); END; END; /
Yukarıdaki kodun çıktısı şöyle olmalıdır:
lütfen aklınızda bulundurun Buradaki çıktı, Global değişken: 10 (küresel değişken val nedeniyle) ve 'Yerel değişken: 100 (yerel değişken val nedeniyle).
PL / SQL Çapa
PL / SQL bağlantıları, tablonun o belirli sütununun veri türü ile bağlantılı veri türüne sahip değişkenleri bildirmek için% TYPE anahtar sözcüğü ile tanımlanır.
Bağlantılı kod pasajı:
DECLARE v_namis RESSIDENT.NAME%TYPE; n_addessis RESSIDENT.ADDRESS%TYPE; BEGIN NULL; END; /
Burada bir RESIDENT tablomuz var ve bu tablonun NAME ve ADDRESS sütunlarıyla ilgileniyoruz.
PL / SQL'de Sabitler
Bir sabit, program boyunca bir kez bildirilen değeri değiştirmeden tutar.
PL / SQL Sabit beyanı
SABİT anahtar kelime, programda sabitleri tanımlamak için kullanılır. Program boyunca aynı kalan önceden tanımlanmış bir değerle başlar.
Değişken bildirimi için sözdizimi:
const_name CONSTANT data type := val
Sabit ile Kod Uygulaması:
DECLARE -- Constant p constant number := 3.141592654; -- Radius declarations r number(10,1); a_circle number(10,3); BEGIN -- Area calculation r := 9.4; a_circle := p * r * r; -- Output in console dbms_output.put_line('Area of circle: ' || a_circle); END; /
Yukarıdaki kodun çıktısı şöyle olmalıdır:
PL SQL'de Değişmezler
Bir PL / SQL tanımlayıcısı tarafından tanımlanmamış bir Boolean, Numeric veya String değeri, değişmez değer olarak adlandırılır. Değişmez değerler büyük / küçük harfe duyarlıdır ve aşağıda listelendiği gibi aşağıdaki türlerdendir:
- Boole Edebiyatları ( Örneğin - YANLIŞ DOĞRU )
- Karakter Değişmezleri ( Örneğin - 's', '7', ')')
- Dize Değişmezleri ( Örneğin - 'Yazılım Testi')
- Sayısal Değişmezler ( Örneğin - 78, 04, 6.3)
- TARİH ve Saat Değişmezleri ( Örneğin - ’25 -05-2012 ’)
Sıkça Sorulan Sorular ve Cevaplar
S # 1) PL SQL'deki veri türleri nelerdir?
Cevap: PL SQL veri türleri bileşik ve skalerdir. Skaler veri türleri Karakter, Sayı, Boolean ve DateTime gibi tek değerleri tutabilir. Bileşik veri türleri, toplama ve kayıt gibi birden fazla değeri saklarken.
S # 2) PL / SQL değişkeni nedir?
Cevap: PL SQL değişkeni, geliştiricinin program yürütme sırasında verileri geçici olarak depolamasına yardımcı olan bir addır. Depolama alanına atanan anlamlı bir isimdir. PL / SQL'deki tüm değişkenler belirli bir veri türüne aittir.
S # 3) PL / SQL'de bir tarih parametresi nasıl geçirilir?
Cevap: DATE anahtar sözcüğü yardımıyla PL / SQL'de bir tarih parametresi geçirebiliriz. 'YYYY-AA-GG' şeklinde sabit bir biçimi izler.
S # 4) PL / SQL'de bir sabiti nasıl ilan edersiniz?
Cevap: SABİT anahtar sözcüğü yardımıyla PL / SQL'de bir sabit tanımlayabiliriz. SABİT'den sonra kendisine atanan değeri belirtmek zorundayız. Bu değer program boyunca sabit kalır.
S # 5) PL / SQL'de kaç tür değişmez bilgi vardır?
Cevap: PL / SQL'deki değişmez değer türleri Number, DateTime, Text ve Integer'dır.
S # 6) PL SQL değişkenleri büyük / küçük harfe duyarlı mıdır?
Cevap: Ayrılmış sözcükleri içeren PL SQL değişkenleri büyük / küçük harf duyarlıdır. Örneğin, BAŞLA ve başla, her ikisi de aynı amaca hizmet eder.
Sonuç
Kullanılan çeşitli veri türleri ve bunların önemi ve PL SQL değişkenleri gibi konuları ele alan PL / SQL'in büyük bir kısmı, bu öğreticiyi okuduktan sonra şimdi anlaşılabilir olmalıdır.
Ayrıca, PL SQL sabitlerini ve değişmezlerini ayrıntılı olarak inceledik. Her bir konuyu tek tek gözden geçirin ve yavaş yavaş bu konuda ustalaşacaksınız. PL / SQL, günümüzde hem web hem de sunucu geliştirme için endüstrilerde kullanılmaktadır.
Sonraki eğitimde PL / SQL Ekle, Güncelle, Sil, Seç deyimi ve diğer ilgili konuları tartışacağız.
Daha fazla bilgi paylaşımı için bizi izlemeye devam edelim.
Önerilen Kaynaklar
- Python Değişkenleri
- Python Veri Türleri
- C # Veri Türleri ve Örneklerle Değişkenler
- Kullanıcı Tanımlı Değişkenleri Kullanarak JMeter Veri Parametrelendirmesi
- Data Mart Eğitimi - Data Mart Türleri, Örnekleri ve Uygulaması
- C ++ Veri Türleri
- Java Değişkenleri ve Türleri Örneklerle
- SQL vs NoSQL Tam Farklılıklar ve NoSQL ve SQL Ne Zaman Kullanılacağını Bilin