Вниз
Скачать: CL | DM;

OPEN CUR_OBJS FOR vSQL USING nOBJ_TYPE, nOBJ_TYPE;   Найти похожие ветки 

← →
Нуб   (2007-03-26 12:34) [0]

Здрасте. Ув мастера как понимать выражение
OPEN CUR_OBJS FOR vSQL USING nOBJ_TYPE, nOBJ_TYPE; , где CUR_OBJS это REFCURSOR, а vSQL - это варчар типа vSQL VARCHAR2(4000) := "
   SELECT OBJ_ID,OBJ_NAME,OBJ_SNAME,OBJ_TYPE FROM OBJS WHERE (:vOBJ_TYPE IS NULL OR OBJ_TYPE = :vOBJ_TYPE)"; непонятно для чего этот USING нужен , ниже приведен полный текст функции PL/SQL

FUNCTION LIST_OBJS_BY_TYPE(cORDER IN VARCHAR2 := NULL,nOBJ_TYPE IN NUMBER := NULL) RETURN REFCURSOR IS
 CUR_OBJS REFCURSOR;
 vSQL VARCHAR2(4000) := "
   SELECT OBJ_ID,OBJ_NAME,OBJ_SNAME,OBJ_TYPE FROM OBJS WHERE (:vOBJ_TYPE IS NULL OR OBJ_TYPE = :vOBJ_TYPE)";
BEGIN
 IF cORDER IS NOT NULL THEN
    vSQL := vSQL||" ORDER BY "||cORDER;
 END IF;
 OPEN CUR_OBJS FOR vSQL USING nOBJ_TYPE, nOBJ_TYPE;
 RETURN CUR_OBJS;
END LIST_OBJS_BY_TYPE;


← →
Нуб   (2007-03-26 12:37) [1]

что такое cursor и для чего он нужен я понял с примера

CREATE PACKAGE emp_data AS
  TYPE GenericCurTyp IS REF CURSOR;
  TYPE EmpCurTyp IS REF CURSOR RETURN emp%ROWTYPE;
  PROCEDURE open_emp_cv (emp_cv IN OUT EmpCurTyp,
                         choice IN NUMBER);
END emp_data;

CREATE PACKAGE BODY emp_data AS
  PROCEDURE open_emp_cv (emp_cv IN OUT EmpCurTyp,
                         choice IN NUMBER) IS
  BEGIN
     IF choice = 1 THEN
        OPEN emp_cv FOR SELECT * FROM emp WHERE comm IS NOT NULL;
     ELSIF choice = 2 THEN
        OPEN emp_cv FOR SELECT * FROM emp WHERE sal > 2500;
     ELSIF choice = 3 THEN
        OPEN emp_cv FOR SELECT * FROM emp WHERE deptno = 20;
     END IF;
  END open_emp_cv;
END emp_data;

а вот USING нафиг надо , как оно ? , для чего ?  и почему ?


← →
Desdechado ©   (2007-03-26 12:49) [2]

Видимо, Оракл?
USING дает возможность указать фактические значения параметров, если таковые есть.


← →
Нуб   (2007-03-26 13:11) [3]


> Desdechado ©

да Оракл, ясно , будем дальше инфу читать



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.033 c
15-1173881340
oldman
2007-03-14 17:09
2007.04.15
Авторские права?


15-1174605154
eXPell
2007-03-23 02:12
2007.04.15
Баян (?) о "мудростях"


2-1174999162
Max35
2007-03-27 16:39
2007.04.15
"Случайный" вопрос


2-1174487277
Chaval'
2007-03-21 17:27
2007.04.15
TCheckBox


15-1174377105
jack128
2007-03-20 10:51
2007.04.15
Автоматическое уничтожение объектов




   Наверх