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


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


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

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


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


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


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




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



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