Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Как получить оут параметр?  [new]
Новичек55
Guest
Всем привет.
Пишу
select dummy into :param from dual
Получаю:
ORA-01036: неверное имя/номер переменной

Выполняю и через TOAD, и ODAC -все равно ошибка. Чего надо сделать.
Всем спасибо.
11 июл 06, 14:53    [2866460]     Ответить | Цитировать Сообщить модератору
 Re: Как получить оут параметр?  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
а нельзя вопрос формулировать точнее
- оут параметр ЧЕГО?
- :param - это что?
- чего вообще-то надо?
11 июл 06, 14:58    [2866495]     Ответить | Цитировать Сообщить модератору
 Re: Как получить оут параметр?  [new]
Новечек55
Guest
tru55
а нельзя вопрос формулировать точнее
- оут параметр ЧЕГО?
- :param - это что?
- чего вообще-то надо?

1. Выборка возвращает значение в поле dummy и я его сую в параметр param
2. Это и есть оут параметр
3. п. 1
11 июл 06, 15:00    [2866510]     Ответить | Цитировать Сообщить модератору
 Re: Как получить оут параметр?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 63986
Блог
Новичек55
Чего надо сделать.

Найти главу документации, в которой описывается использование оператора select into в SQL-контексте (вне блока begin..end). Ну или попробовать найти.
11 июл 06, 15:01    [2866532]     Ответить | Цитировать Сообщить модератору
 Re: Как получить оут параметр?  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116230
"Ужасы нашего городка"

Не знаю , куда давать ссылку.

PL/SQL :

declare
v_param VARCHAR2(1);
begin
select dummy into v_param from dual;
dbms_output.put_line(v_param);
end;
/
X
sqlplus

SQL> var v_param VARCHAR2(1)
SQL> exec select dummy into :v_param from dual

PL/SQL-Prozedur wurde erfolgreich abgeschlossen.

SQL> print v_param

V_PARAM
--------------------------------
X

SQL>
11 июл 06, 15:01    [2866535]     Ответить | Цитировать Сообщить модератору
 Re: Как получить оут параметр?  [new]
Новечек55
Guest
softwarer
Новичек55
Чего надо сделать.

Найти главу документации, в которой описывается использование оператора select into в SQL-контексте (вне блока begin..end). Ну или попробовать найти.

Можно подробнее где искать?
11 июл 06, 15:02    [2866540]     Ответить | Цитировать Сообщить модератору
 Re: Как получить оут параметр?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 63986
Блог
Где бы ни искали, не найдете.

Оператор select into - это оператор pl/sql, просто так его выполнить не удастся - по крайней мере, я способа не знаю. Единственный, если не ошибаюсь, способ получить out параметр в sql - это конструкция returning:

Connected to Oracle9i Enterprise Edition Release 9.2.0.6.0 
Connected as test

SQL> create table dula as select * from dual;

Table created

SQL> var c char;
SQL> update dula set dummy=dummy returning dummy into :c;

1 row updated

c
---------
X
11 июл 06, 15:07    [2866568]     Ответить | Цитировать Сообщить модератору
 Re: Как получить оут параметр?  [new]
Новичек55
Guest
softwarer
Где бы ни искали, не найдете.

Оператор select into - это оператор pl/sql, просто так его выполнить не удастся - по крайней мере, я способа не знаю. Единственный, если не ошибаюсь, способ получить out параметр в sql - это конструкция returning:

Connected to Oracle9i Enterprise Edition Release 9.2.0.6.0 
Connected as test

SQL> create table dula as select * from dual;

Table created

SQL> var c char;
SQL> update dula set dummy=dummy returning dummy into :c;

1 row updated

c
---------
X

Всем спасибо. Буду думать.
11 июл 06, 15:13    [2866604]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить