Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Почему не компилится oracle функция?  [new]
hm-cruiser
Member

Откуда:
Сообщений: 112
Добрый день

Если вопрос ламерский - я щас занимаюсь несколько несвойственными мне вещами, поэтому спрашиваю.


create or replace type TypeStringEx as Object(
st varchar(1000)
);


create or replace type TableTypeStringEx as table of TypeStringEx;

Все в порядке.

create or replace function getDatesList()
return TableTypeStringEx pipelined

as
out_rec TableTypeStringEx := TableTypeStringEx(null);

begin
out_rec.st := 'NNNNN';
pipe row (out_rec);
return;
end;

НЕ компилится. Выполнение завершено с предупреждением – такая диагностика.


ЧЕ не так?


И – если я хочу возвращать одно поле – напр varchar или timestamp – все равно два типа создать нужно?

Пусть вас не смущает pipeline - там потом будет loop.

Заранее спасибо
12 фев 09, 12:10    [6810914]     Ответить | Цитировать Сообщить модератору
 Re: Почему не компилится oracle функция?  [new]
ILoveCoffee
Member

Откуда: Astana
Сообщений: 986
Попробуйте так и проверьте :

create or replace function getDatesList
return TableTypeStringEx pipelined
as
out_rec TypeStringEx := TypeStringEx(NULL);
begin
out_rec.st := 'NNNNN';
pipe row (out_rec);
return;
end;
12 фев 09, 12:16    [6810963]     Ответить | Цитировать Сообщить модератору
 Re: Почему не компилится oracle функция?  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
hm-cruiser
Пусть вас не смущает pipeline - там потом будет loop.

hm-cruiser
И – если я хочу возвращать одно поле – напр varchar или timestamp – все равно два типа создать нужно?
Один тип - это "строка", другой - таблица таких строк. Что именно нужно Вам - решать Вам же.

Собственно ошибка основная у Вас именно в этом. Вы говорите Ораклу присвоить таблице какую-то строку, вот он и теряется :) Ну и скобки после названия функции уберите.
ЗЫ: Кстати вообще-то Оракл может и ошибки показывать :)
12 фев 09, 12:18    [6810976]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить