Вниз
Скачать: 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.028 c
2-1174495935
T.V
2007-03-21 19:52
2007.04.15
Вопрос по var-параметрам и указателям


2-1174975661
Alex_C
2007-03-27 10:07
2007.04.15
Подскажите консольный текстовый редактор


6-1161764071
yuriks
2006-10-25 12:14
2007.04.15
idFTP и большие файлы


15-1174535794
Slider007
2007-03-22 06:56
2007.04.15
С днем рождения ! 22 марта


2-1174954591
Wood
2007-03-27 04:16
2007.04.15
TRichEdit, свойства текста..




   Наверх