Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Обход ограничения на количество строк в Select / 12 сообщений из 12, страница 1 из 1
11.11.2019, 21:55
    #39887755
InGg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход ограничения на количество строк в Select
Всем привет!
Предположим у нас в ограничен доступ запросов по количеству строк не более 1500 строк за один запрос, скажем Select.
Подскажите пожалуйста есть ли возможность обойти данное ограничение при помощи каких либо подзапросов или переменных в самом SQL запросе.

Пример Select * from table_1 where id in ( 1400 заначений) and SYS_DAY >= -30;

А у нас 10к или 20к значений... Как все впихнуть в один запрос и не дробить? )
...
Рейтинг: 0 / 0
11.11.2019, 23:32
    #39887779
Надфиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход ограничения на количество строк в Select
InGg,

1. засунь эти значения в таблицу. хоть милярд.
2. id in () or id in() or ....... id in()
3. засунуть в piplened функцию.

к пятнице вангую еще способов 100))
...
Рейтинг: 0 / 0
11.11.2019, 23:40
    #39887783
iOracleDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход ограничения на количество строк в Select
InGg
Предположим у нас в ограничен доступ запросов по количеству строк не более 1500 строк за один запрос, скажем Select.

Каким образом и для чего?

InGg
Подскажите пожалуйста есть ли возможность обойти данное ограничение при помощи каких либо подзапросов или переменных в самом SQL запросе.

Зависит от ответа на первый вопрос.

InGg

Пример Select * from table_1 where id in ( 1400 заначений) and SYS_DAY >= -30;

А у нас 10к или 20к значений... Как все впихнуть в один запрос и не дробить? )

Уберите ограничение и не дробите, в чем проблема?
...
Рейтинг: 0 / 0
11.11.2019, 23:56
    #39887790
Надфиль
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход ограничения на количество строк в Select
InGg
id in ( 1400 заначений)

чорт, предыдущий оратор заставил по иному посмотреть на вопрос. я думал что проблема в этом.
если склероз не изменяет, "in" ограничен тысячью значений.

теперь заснуть не смогу. в чем вопрос то был?
...
Рейтинг: 0 / 0
12.11.2019, 07:36
    #39887846
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход ограничения на количество строк в Select
InGg
in ( 1400 заначений)
Быдло-конкатенаторы запросов не смогут додуматься до элементарной вещи:
Код: plsql
1.
in (select * from table(SomeMagicFunc(:clob)))
...
Рейтинг: 0 / 0
12.11.2019, 09:42
    #39887874
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход ограничения на количество строк в Select
Надфиль

если склероз не изменяет, "in" ограничен тысячью значений.

хитро ограничен

... (x,1) in ((a1,1),(a2,1),...,(a1400,1))

....
stax
...
Рейтинг: 0 / 0
12.11.2019, 21:54
    #39888285
InGg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход ограничения на количество строк в Select
iOracleDev

Каким образом и для чего?
Уберите ограничение и не дробите, в чем проблема?

Лень плюс любопытство )) Не в моих силах и компетенции.


Дело в том что ситуации бывают разные, если мы говорим о поиске по стринговому значению, да , ограничение оправданно, так как экономит ресурс... скажем так, защита от идиота... хотя...

Но если мы работаем с селектом по ключам или какому либо инту то как по моему дробление муторно и тут лишнее...

Ну я человек не очень то и опытный могу и ошибаться.
...
Рейтинг: 0 / 0
12.11.2019, 21:56
    #39888286
InGg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход ограничения на количество строк в Select
Elic
InGg
in ( 1400 заначений)
Быдло-конкатенаторы запросов не смогут додуматься до элементарной вещи:
Код: plsql
1.
in (select * from table(SomeMagicFunc(:clob)))



ХМ... спасибо, ушел штудировать доку ибо понять как это работает )
...
Рейтинг: 0 / 0
12.11.2019, 22:10
    #39888294
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход ограничения на количество строк в Select
InGg

ХМ... спасибо, ушел штудировать доку ибо понять как это работает )


Если возможно то вместо запихивания значения в clob (что трeбует либо фиксироранной длины либо разделитель который не может встретиться в значениях) а потом "распихивания" в SomeMagicFunc лучше запихивать в коллекцию:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
SQL> select ename,sal from emp where job in (select * from table(sys.OdciVarchar2List('CLERK','SALESMAN')))
  2  /

ENAME             SAL
---------- ----------
SMITH             800
ADAMS            1100
JAMES             950
MILLER           1300
ALLEN            1600
WARD             1250
MARTIN           1250
TURNER           1500

8 rows selected.

SQL> 



SY.
...
Рейтинг: 0 / 0
13.11.2019, 07:48
    #39888374
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход ограничения на количество строк в Select
SY
лучше запихивать в коллекцию:
Код: plsql
1.
SQL> select ename,sal from emp where job in (select * from table(sys.OdciVarchar2List('CLERK','SALESMAN')))

Соломон, ну нельзя же так часто давать вредные "советы". А длину запроса можно увеличить кучей других бессмысленных способов.
...
Рейтинг: 0 / 0
13.11.2019, 13:28
    #39888585
iOracleDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход ограничения на количество строк в Select
InGg
Дело в том что ситуации бывают разные, если мы говорим о поиске по стринговому значению, да , ограничение оправданно, так как экономит ресурс... скажем так, защита от идиота... хотя...

Правильно, поэтому разбирать гипотетически возможные ситуации не имеет смысла, у тебя есть конкретная задача?

InGg
Но если мы работаем с селектом по ключам или какому либо инту то как по моему дробление муторно и тут лишнее...

Список ключей ты каким то образом получаешь, подставь запрос которым получаешь список ключей в целевой запрос.
...
Рейтинг: 0 / 0
14.11.2019, 01:49
    #39888869
InGg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход ограничения на количество строк в Select
Всем спасибо, вопрос закрыт )
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Обход ограничения на количество строк в Select / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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