Основы (асослар)


Download 0.95 Mb.
bet4/58
Sana28.12.2022
Hajmi0.95 Mb.
#1011518
1   2   3   4   5   6   7   8   9   ...   58
Bog'liq
PL-SQL Маъруза матни

Бир қаторли изоҳ


Бир қаторли изоҳ қатордаги ихтиёрий жойидан иккита минус белгисидан башланиб қатор охиригача давом этади. Мисоллар келтирамиз:


-- 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 турлари


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 пакетлари ёрдамида ўзгартириш мумкин.





Download 0.95 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   58




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