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


Сўровостилардан фойдаланиш


Download 0.95 Mb.
bet27/58
Sana28.12.2022
Hajmi0.95 Mb.
#1011518
1   ...   23   24   25   26   27   28   29   30   ...   58
Bog'liq
PL-SQL Маъруза матни

Сўровостилардан фойдаланиш


FOR loop жумласида сўровостилардан фойдаланиш мумкин:
DECLARE
bonus REAL;
BEGIN
FOR emp_rec IN (SELECT empno, sal, comm FROM emp) LOOP
bonus := (emp_rec.sal * 0.05) + (emp_rec.comm * 0.25);
INSERT INTO bonuses VALUES (emp_rec.empno, bonus);
END LOOP;
COMMIT;
END;

Хамроҳ номлардан фойдаланиш


SELECT жумласида ифодаларни ҳамроҳ ном орқали белиглаш мумкин:
CURSOR c1 IS
SELECT empno, sal+NVL(comm,0), job FROM ...

Қуйидаги мисолда sal+NVL(comm,0) ифода wages ҳамроҳ ном орқали белигиланган:


CURSOR c1 IS
SELECT empno, sal+NVL(comm,0) wages, job FROM ...

Мурожаатда ҳамроҳ номидан фойдаланиш мумкин:


IF emp_rec.wages < 1000 THEN ...


Параметрларни узатиш


FOR loop курсорига параметрларни узатиш мумкин:.
DECLARE
CURSOR emp_cursor(dnum NUMBER) IS
SELECT sal, comm FROM emp WHERE deptno = dnum;
total_wages NUMBER(11,2) := 0;
high_paid NUMBER(4) := 0;
higher_comm NUMBER(4) := 0;
BEGIN
/* итерациялар сони emp_cursor қайтарадиган қаторлар сонига тенг бўлиши лозим */
FOR emp_record IN emp_cursor(20) LOOP
emp_record.comm := NVL(emp_record.comm, 0);
total_wages := total_wages + emp_record.sal +
emp_record.comm;
IF emp_record.sal > 2000.00 THEN
high_paid := high_paid + 1;
END IF;
IF emp_record.comm > emp_record.sal THEN
higher_comm := higher_comm + 1;
END IF;
END LOOP;
INSERT INTO temp VALUES (high_paid, higher_comm,
'Total Wages: ' || TO_CHAR(total_wages));
COMMIT;
END;


Курсор ўзгарувчиларидан фойдаланиш


PL/SQL тилида курсор ўзгарувчиси мавжуд.

Курсор ўзгарувчиси нима?


Курсор ўзгарувчиси худди C ёки Паскал кўрсатгичларига ўхшаб бирор элементнинг ўрнига уни хотирадаги адресини сақлайди.

Download 0.95 Mb.

Do'stlaringiz bilan baham:
1   ...   23   24   25   26   27   28   29   30   ...   58




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