Бир қаторли изоҳ қатордаги ихтиёрий жойидан иккита минус белгисидан башланиб қатор охиригача давом этади. Мисоллар келтирамиз:
-- begin processing
SELECT sal INTO salary FROM emp -- get current salary
WHERE empno = emp_id;
bonus := salary * 0.15; -- compute bonus amount
Кўп қаторли изоҳ
Кўп қаторли изоҳ (/*) слеш-юлдузча билан бошланади ва (*/) юлдузча слеш билан тугайди. Мисоллар келтирамиз:
BEGIN
/* Compute a 15% bonus for top-rated employees. */
IF rating > 90 THEN
bonus := salary * 0.15 /* bonus is based on salary */
ELSE
bonus := 0;
END If;
...
/*
Хар қандай ўзгармас ва ўзгарувчи уларнинг сақлаш формати, чеклагичлари ва ўзгариш соҳасини аниқлаб берувчи берилганлар турига эга бўлади
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 турлари сонли берилганларни сақлашга имкон беради.
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 тур остиларини ишлатишингиз мумкин:
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 пакетлари ёрдамида ўзгартириш мумкин.
Do'stlaringiz bilan baham: |