Вниз
Скачать: 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.027 c
15-1174210474
Донской
2007-03-18 12:34
2007.04.15
IDE семерки


15-1173877098
ArchValentin
2007-03-14 15:58
2007.04.15
Delphi & WindowsVista


2-1175140126
Steep
2007-03-29 07:48
2007.04.15
Расширения


15-1174470510
boriskb
2007-03-21 12:48
2007.04.15
Из истории советской цензуры


2-1174892632
Клара
2007-03-26 11:03
2007.04.15
Концептуальное моделирование




   Наверх