Страница 1 из 1

Поле-константа в хранимой процедуре

Добавлено: 01 ноя 2007, 17:34
scoper
Добрый день.

Пытаюсь создать хранимую процедуру в которой есть следующая строка:

Код: Выделить всё

SELECT CREATE AS DT, 1 AS ETYPE
Но получаю следующую ошибку:

Код: Выделить всё

Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
ETYPE.
unknown ISC error 336397208.
В простом запросе это работает на ура, почему не работает в хранимой процедуре и как это можно обойти?

Заранее спасибо....

Добавлено: 01 ноя 2007, 20:24
WildSery
А если написать

Код: Выделить всё

SELECT "CREATE" AS DT, 1 AS ETYPE
Кроме того, у тебя неправильно установлен сервер (какой бы он ни был), по крайней мере файл .MSG не соответствует клиентской библиотеке.

Добавлено: 01 ноя 2007, 23:42
kdv
гм. а зачем в процедуре у селекта алиасы имен столбцов? Кому они там нужны?

Добавлено: 02 ноя 2007, 11:55
scoper
Извиняюсь, похоже разобрался... Надо было объявить поле ETYPE в начале...

Код: Выделить всё

DECLARE ETYPE INTEGER;
Но всеравно спасибо :)

Добавлено: 02 ноя 2007, 12:27
Dimitry Sibiryakov
Я бы поставил вопрос шире: зачем в ХП select константы? Аффтар не знает про оператор присваивания? (Я такое видел у начинающих ораклистов: select 2*2 from dual into MyVar.)

Добавлено: 02 ноя 2007, 15:00
mdfv
Dimitry Sibiryakov писал(а):Я бы поставил вопрос шире: зачем в ХП select константы?
Чаще всего для insert into.. select from.

Добавлено: 02 ноя 2007, 15:11
scoper
Сначала делал несколько select с разными условиями и выставлял разную константу в поле ETYPE а затем делал UNION.