Основы (асослар)
Download 0.95 Mb.
|
PL-SQL Маъруза матни
- Bu sahifa navigatsiya:
- Курсор атрибутларидан фойдаланиш
- Ошкор курсор атрибутлари
- %ISOPEN
4 мисолHost ўзгарувчисини масалан SQL*Plus –да VARIABLE командаси орқали эълон қилиш мумкин: VARIABLE return_code NUMBER PL/SQL Host ўзгарувчисига мурожаат қилиш учун уни олдига икки нуқта (:) қўйиш лозим: BEGIN :return_code := 0; IF credit_check_ok(acct_no) THEN :return_code := 1; END IF; ... END; SQL*Plus Host ўзгарувчиси қийматини кўриш учун PRINT командасидан фойдаланинг: SQL> PRINT return_code RETURN_CODE ----------- 1 SQL*Plus -даги REFCURSOR берилганлар тури курсор ўзгарувчисини эълон қилишга имкон беради. CREATE PACKAGE emp_data AS TYPE EmpRecTyp IS RECORD ( emp_id NUMBER(4), emp_name CHAR(10), job_title CHAR(9), dept_name CHAR(14), dept_loc CHAR(13)); TYPE EmpCurTyp IS REF CURSOR RETURN EmpRecTyp; PROCEDURE get_staff ( dept_no IN NUMBER, emp_cv IN OUT EmpCurTyp); END; / CREATE PACKAGE BODY emp_data AS PROCEDURE get_staff ( dept_no IN NUMBER, emp_cv IN OUT EmpCurTyp) IS BEGIN OPEN emp_cv FOR SELECT empno, ename, job, dname, loc FROM emp, dept WHERE emp.deptno = dept_no AND emp.deptno = dept.deptno ORDER BY empno; END; END; / COLUMN EMPNO HEADING Number COLUMN ENAME HEADING Name COLUMN JOB HEADING JobTitle COLUMN DNAME HEADING Department COLUMN LOC HEADING Location SET AUTOPRINT ON VARIABLE cv REFCURSOR EXECUTE emp_data.get_staff(20, :cv) Курсор атрибутларидан фойдаланишХар бир курсор ёки курсор ўзгарувчиси тўртта атрибутга эга: %FOUND, %ISOPEN %NOTFOUND ва %ROWCOUNT. Ушбу атрибутлар курсор ҳақида фойдали ахборотлар беради. Ошкор курсор атрибутлари%FOUNDКурсор ёки курсор ўзгарувчиси очилганда, лекин биринчи қатор олингунга қадар %FOUND атрибут NULL қийматни қайтаради. Сўнг қатор олинса TRUE, қатор тугаса FALSE қийматни қайтаради LOOP FETCH c1 INTO my_ename, my_sal, my_hiredate; IF c1%FOUND THEN -- қатор олинди ... ELSE -- қатор олиш муваффақиятсиз бўлди EXIT; END IF; END LOOP; %ISOPEN%ISOPEN атрибут TRUE қиймат қайтаради, агар курсор ёки курсор ўзгарувчиси очилган бўлса, акс ҳолда %ISOPEN атрибут FALSE қиймат қайтаради. IF c1%ISOPEN THEN -- курсор очиқ ... ELSE -- курсор ёпиқ OPEN c1; END IF; Download 0.95 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling