Берилганлар турлари



Download 24,58 Kb.
Sana26.02.2022
Hajmi24,58 Kb.
#469615
Bog'liq
Berilganlar turlari

Берилганлар турлари


Хар қандай ўзгармас ва ўзгарувчи уларнинг сақлаш формати, чеклагичлари ва ўзгариш соҳасини аниқлаб берувчи берилганлар турига эга бўлади





PL/SQL берилганлар турлари






Скаляр турлар




Мураккаб турлар











BINARY_INTEGER




CHAR




RECORD







DEC

CHARACTER

TABLE







DECIMAL

LONG

VARRAY







DOUBLEPRECISION

LONG RAW










FLOAT

NCHAR

Хавола турлари








INT

NVARCHAR2

REF CURSOR







INTEGER

RAW

REF object_type







NATURAL

ROWID










NATURALN

STRING

LOB турлари







NUMBER

VARCHAR










NUMERIC

VARCHAR2

BFILE







PLS_INTEGER




BLOB







POSITIVE

BOOLEAN

CLOB







POSITIVEN




NCLOB







REAL

DATE










SIGNTYPE













SMALLINT














































Number турлари


Number турлари сонли берилганларни сақлашга имкон беради.




BINARY_INTEGER


BINARY_INTEGER ишорали бутун сонлар (-2147483647 .. 2147483647) интервалда иккилик саноқ системада сақланади. Ишорани ўзгартирмасдан ҳисоблаш жараенида ишлатиш мумкин. NUMBER туридан камроқ жой талаб қилади.


BINARY_INTEGER тур остилари:

PL/SQL тилида қуйидаги тур остилар аниқланган:


NATURAL
NATURALN


POSITIVE
POSITIVEN
SIGNTYPE

NATURAL ва POSITIVE тур остилари мос равишда манфий бўлмаган ва мусбат бутун ўзгарувчиларни тавсифлайди. NATURALN ва POSITIVEN эса бутун ўзгарувчилар қиймати олдига нул қўйишни тақиқлайди. SIGNTYPE тури –1,0 ва 1 қийматга эга бўлган бутун ўзгарувчиларни тавсифлайди.




NUMBER


NUMBER тури сузувчи еки фиксирланган нуқтали сонларни


ифодалаш учун ишлатилади. У қуйидаги синтаксисга эга
NUMBER (аниқлик, масштаб)

Бу ерда аниқлик умумий рақамлар белгилар сони ( 38) ва 1.ОЕ 129 ... 9.99Е 125 қийматларни қабул қилиши мумкин. Масштаб эса ўнлик нуқтадан кейинги рақамлар сони бўлиб – 84 дан 127гача ўзгаради.




NUMBER тур остилари

Сиз қуйидаги NUMBER тур остиларини ишлатишингиз мумкин:


DEC
DECIMAL


DOUBLE
PRECISION
FLOAT
INTEGER
INT
NUMERIC
REAL
SMALLINT

DEC, DECIMAL ва NUMERIC тур остиларини максимал аниклиги 38 ўнлик ракамдан иборат фиксирланган нуктали сонларни ифодалаш учун ишлатишингиз мумкин.


INTEGER, INT ва SMALLINT тур остиларини эса максимал аниқлиги 38 ўнлик рақамдан иборат бутун сонларни ифодалаш учун ишлатишингиз мумкин.
DOUBLE PRECISION ва FLOAT тур остиларини максимал аниқлиги 38 ўнлик рақамдан иборат сузувчи - нуқтали сонларни ифодалаш учун ишлатишингиз мумкин.
REAL тур остини максимал аниқлиги 18 ўнлик рақамдан иборат сузувчи - нуқтали сонларни ифодалаш учун ишлатишингиз мумкин.


PLS_INTEGER




PLS_INTEGER тури -2147483647 .. 2147483647 интервалдаги ишорали бутун сонларни ифодалаш учун ишлатилади.




Белгили турлар




CHAR


CHAR – фиксирланган узунликдаги белгили берилганларни ифодалайди. Унинг синтаксиси:


CHAR [(максимал узунлиги)],

Максимал узунлиги CHAR турдаги базавий устунлар учун 2000 байт. Мумкин бўлган максимал узунлиги  32767.




Тур остилари: CHARACTER

STRING


VARCHAR2


VARCHAR2 - ўзгарувчи узунликдаги белгили берилганларни ифодалайди. Унинг синтаксиси:


VARCHAR 2 (максимал узунлиги)


Бу ерда максимал узунлиги VARCHAR2 турдаги базавий устунлар учун 2000 байт. Мумкин бўлган максимал узунлиги  32767.


Тур остилари: VARCHAR


STRING


LONG


LONG - ўзгарувчи узунликдаги белгили қаторларни ифодалайди. Унинг синтаксиси:


LONG (максимал узунлиги)


Бу ерда максимал узунлиги LONG турдаги базавий устунлар учун 2147483647 байт. Максимал узунлиги LONG турдаги ўзгарувчилар учун 32760 байт


LONG RAW


LONG RAW - ўзгарувчи узунликдаги бинар берилганларини ва байтли қаторларни ифодалайди. Унинг синтаксиси:


LONG RAW (максимал узунлиги)


Бу ерда максимал узунлиги LONG RAW турдаги базавий устунлар учун 2147483647 байт. Максимал узунлиги LONG RAW турдаги ўзгарувчилар учун 32760 байт. LONG RAW турдаги берилганларни PL/SQL томонидан интерпретация қилинмайди


RAW


RAW - ўзгарувчи узунликдаги бинар берилганларини ва байтли қатор-ларни ифодалайди. Унинг синтаксиси:


RAW (максимал узунлиги)


Бу ерда максимал узунлиги RAW турдаги базавий устунлар учун 2000 байт. Максимал узунлиги RAW турдаги ўзгарувчилар учун 32760 байт. RAW турдаги берилганларни PL/SQL томонидан интерпретация қилинмайди. Расмлар ва графикларни сақлаш учун қулайдир.




BOOLEAN


BOOLEAN тури TRUE, FALSE ва NULL қийматларни ифодалаш учун ишлатилади.




DATE


DATE тури 1 январь 4717 эрамиздан олдин 31 декабрь 4712 йилгача фиксирланган узунликдаги санани ифодалаш учун ишлатилади.




ROWID


ROWID – псевдоустун бўлиб бир қийматли равишда қаторни ифодалайди.


Унинг формати BBBBBBBB.RRRR.FFFF.
Бу ерда
BBBBBBBB – берилганлар базасидаги блокнинг номери
RRRR - блокда қаторнинг тартиб номери
FFFF - берилганлар базасидаги файлнинг номери.
(Хаммаси 16 лик системада)
Мисол. 0000000Е . 000А. 0007. псевдоустун жисмонан

7-нчи файл


15-нчи блок
11-нчи қатор

сақланади.




NLS белгили турлари


NLS белгили турлари миллий тиллардаги белгилар тўпламини ифодалаш учун ишлатилади. NCHAR ва NVARCHAR2 буларга мисол бўла олади.




LOB турлари


LOB (large object) турлари BFILE, BLOB, CLOB ва NCLOB иборат бўлиб (матн, расм, видеоклип ва товуш каби) тузилмаланмаган берилганларни ифодалаш учун ишлатилади. Унинг ўлчови 4 ГБ ошмаслиги лозим.




BFILE


BFILE берилганлар тури катта ҳажмдаги бинар объектларни базадан ташқарида жойлашган операцион тизим файлларида сақлаш учун ишлатилади. Хар бир BFILE ўзгарувчиси файл локаторини сақлайди. Файл локатори серверда жойлашган катта бинар файл ҳақида маълумотдан таркиб топган. Ушбу маълумот файл тўлиқ йўли номини аниқловчи директория ҳамроҳидан иборат. BFILE фақат ўқиб бўлади холос.




BLOB


BLOB берилганлар тури катта ҳажмдаги бинар объектларни базада сақлаш учун ишлатилади. Хар бир BLOB ўзгарувчиси локаторни сақлайди. Локатор катта бинар объект ҳақидаги маълумотдан таркиб топган. BLOB транзакцияларда қатнашиши мумкин ва уларни DBMS_LOB ёки OCI пакетлари ёрдамида ўзгартириш мумкин.




СLOB


СLOB берилганлар тури катта ҳажмдаги бир байтли белгили берилганлар блокини базада сақлаш учун ишлатилади. Хар бир СLOB ўзгарувчиси локаторни сақлайди. Локатор катта ҳажмдаги бир байтли белгили берилганлар блоки ҳақидаги маълумотдан таркиб топган. CLOB транзакцияларда қатнашиши мумкин ва уларни DBMS_LOB ёки OCI пакетлари ёрдамида ўзгартириш мумкин.




NСLOB


NCLOB берилганлар тури катта ҳажмдаги кўп байтли белгили NCHAR турдаги берилганлар блокини базада сақлаш учун ишлатилади. Хар бир NСLOB ўзгарувчиси локаторни сақлайди. Локатор катта ҳажмдаги кўп байтли белгили NCHAR турдаги берилганлар блоки ҳақидаги маълумотдан таркиб топган. NCLOB транзакцияларда қатнашиши мумкин ва уларни DBMS_LOB ёки OCI пакетлари ёрдамида ўзгартириш мумкин.




Фойдаланувчи томонидан аниқланган турлар


PL/SQL блоки, қисмдастур ва пакетларнинг эълон қилиш қисмида сизх ўзингизни туростиларингизни аниқлашингиз мумкин. Намуналар келтирамиз:


DECLARE
SUBTYPE BirthDate IS DATE NOT NULL; -- based on DATE type


SUBTYPE Counter IS NATURAL; -- based on NATURAL subtype
TYPE NameList IS TABLE OF VARCHAR2(10);
SUBTYPE DutyRoster IS NameList; -- based on TABLE type
TYPE TimeRec IS RECORD (minutes INTEGER, hours INTEGER);
SUBTYPE FinishTime IS TimeRec; -- based on RECORD type
SUBTYPE ID_Num IS emp.empno%TYPE; -- based on column type
CURSOR c1 IS SELECT * FROM dept;
SUBTYPE DeptFile IS c1%ROWTYPE; -- based on cursor rowtype

Аммо, тур ўлчовини кўрсатиш мумкин эмас. Масалан қуйидаги эълонлар нотўғри бўлади:


DECLARE


SUBTYPE Accumulator IS NUMBER(7,2); -- illegal; must be NUMBER
SUBTYPE Delimiter IS CHAR(1); -- illegal; must be CHAR

Фойдаланувчи томонидан аниқланган турлар одатдагидек ишлатилади:


DECLARE


SUBTYPE Counter IS NATURAL;
rows Counter;

DECLARE


SUBTYPE Accumulator IS NUMBER;
total Accumulator(7,2);

DECLARE


temp NUMBER(1,0);
SUBTYPE Scale IS temp%TYPE;
x_axis Scale; -- magnitude range is -9 .. 9
y_axis Scale;
BEGIN
x_axis := 10; -- raises VALUE_ERROR


Берилганлар турларини ўзгартириш


Баъзан қийматларни бир турдан бошқа турга айлантиришга тўғри келади. Бу ишни ошкор ёки ошкормас тарзда амалга ошириш мумкин. Ошкор усулда ички қурилган функциялардан фойдаланиш мумкин




Ошкормас тарзда ўзгаритириш жадвали.



BIN_INT

CHAR

DATE

LONG

NUMBER

PLS_INT

RAW

UROWID

VARCHAR2

BIN_INT
CHAR
DATE
LONG
NUMBER
PLS_INT
RAW
UROWID
VARCHAR2

X


X
X

X


X

X
X
X


X
X
X
X

X


X

X
X
X

X
X
X

X


X
X

X


X

X
X

X

X


X

X


X

X


X

X
X
X
X
X
X
X
X





Ўзгарувчи ва ўзгармасларни эълон қилиш


Сизнинг дастурингиз қийматларни ўзгарувчилар ва ўзгармасларда сақлайди. Сиз ўзгарувчи ва ўзгармасларни PL/SQL блоки, қисмдастур ва пакетларнинг эълон қилиш қисимида эълон қилишингиз мумкин.


birthday DATE;


emp_count SMALLINT := 0;
pi REAL := 3.14159;
radius REAL := 1;
area REAL := pi * radius**2;
birthday DATE;
birthday DATE := NULL;
credit_limit CONSTANT REAL := 5000.00;
blood_type CHAR := 'O';
blood_type CHAR DEFAULT 'O';
hours_worked INTEGER DEFAULT 40;
employee_count INTEGER := 0;
acct_id INTEGER(4) NOT NULL := 9999;
credit REAL(7,2);
debit credit%TYPE;
balance NUMBER(7,2);
minimum_balance balance%TYPE := 10.00;
my_dname scott.dept.dname%TYPE;
Download 24,58 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish