powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / вернуть 0 rows из табличной функции
5 сообщений из 5, страница 1 из 1
вернуть 0 rows из табличной функции
    #37730419
kalupator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть табличная функция, возвращает результат как
Код: plsql
1.
return values (f1,f2,f3);


либо как
Код: plsql
1.
return select * from table(values ((f1,f2,f3),(f3,f4,f4)));


в первом случае, естественно, возвращается таблица с 1 row, во втором с 2умя.
в зависимости от опр. условия необходимо возвращать пустю таблицу, без строк.
return null, естественно не работает, требует 3 параметра.
return values(null,null,null), естественно возвращает уже 1 row.

как быть? есть ли табличных функций принудительный возврат пустой таблицы?
...
Рейтинг: 0 / 0
вернуть 0 rows из табличной функции
    #37730886
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kalupator,
Код: sql
1.
return select * from table(values (f1,f2,f3)) where 1=0;
...
Рейтинг: 0 / 0
вернуть 0 rows из табличной функции
    #37730971
kalupator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

спасибо =) Неужели другого варианта не предусмотрено? Просто такой вариант до этого и был использован, но сейчас проходит комплексная оптимизация SQL кода и для увеличения производительности ищется какой-нибудь стандартный способ.
...
Рейтинг: 0 / 0
вернуть 0 rows из табличной функции
    #37731021
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kalupatorНеужели другого варианта не предусмотрено? Просто такой вариант до этого и был использован, но сейчас проходит комплексная оптимизация SQL кода и для увеличения производительности ищется какой-нибудь стандартный способ.Можете объяснить, почему предложенный способ неоптимален, и зачем вообще для данного случая нужно что-то другое более производительное искать?
Я понимаю ещё если надо думать над оптимизацией:
Код: sql
1.
select ... from ... where (...)  and (1=?)

Т.е. в зависимости от параметра либо применять фильтры, либо нет.
Но для values (...) думать об оптимизации смысла нет.
...
Рейтинг: 0 / 0
вернуть 0 rows из табличной функции
    #37731050
kalupator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

передо мной просто была поставлена такая задача - найти стандартный способ возврата пустой таблицы из табличный функции, вот я и ищу выход. Спасибо за совет, буду аргументировать начальству, что в данной ситуации можно ничего не менять.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / вернуть 0 rows из табличной функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]