Вниз
Скачать: 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
2-1174805889
GeLLeR
2007-03-25 10:58
2007.04.15
Drag and Drop


3-1169558058
tytus
2007-01-23 16:14
2007.04.15
Подключение к Oracle 10g в библиотеке


2-1174989039
Леонид
2007-03-27 13:50
2007.04.15
Короткий путь DOS


2-1174492059
CatRin
2007-03-21 18:47
2007.04.15
Как сделать очувствленную картинку компьютера ?


2-1175013602
Comp
2007-03-27 20:40
2007.04.15
Как обработать сообщение WM_PAINT для Edit-а?




   Наверх