powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Получить строку таблицы где 1 значение максимально
43 сообщений из 43, показаны все 2 страниц
Получить строку таблицы где 1 значение максимально
    #40019600
Aybo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую
Надо в 11й версии вставить в копию таблицы всю строку где в одном из столбцов значение максимально.
Аналогичная - скопировать только последние строки исходников, например уже есть таблица:

Код: plsql
1.
create table s_copy as select * from all_source where 0=1



Насколько я знаю более менее быстро работает такой запрос

Код: plsql
1.
2.
3.
4.
insert into s_copy
select * from
(select a.*, row_number() over(partition by a.owner, a.name order by a.line desc) rn from all_source a)
where rn = 1



но инсерт ругается что лишний столбец rn

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

Или insert * в любом случае быдлокод)
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40019607
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aybo
insert * в любом случае быдлокод
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40019625
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aybo,

если очень хочется,

select * from all_source a
order by max(id) over(partition by a.owner, a.name) -a.id

в первых

(select count(*) from all_source a group by a.owner, a.name)

строчках будет содержать нужные строчки.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40019891
Aybo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
НеофитSQL,

Это как-то сложно.

Значит и еще проще задача - запихать через select into одну такую максимальную строку по конкретному name в переменную all_source%rowtype нельзя?
Только pl/sql цикл с сортировкой и exit?
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40020037
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aybo
Приветствую
Надо в 11й версии вставить в копию таблицы всю строку где в одном из столбцов значение максимально.


Код: plsql
1.
2.
insert into s_copy
select * from (select * from t by col desc) where rownum<2


авторАналогичная - скопировать только последние строки исходников, например уже есть таблица:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
  1  insert into emp3 select * from emp
  2*   where rowid in (select max(rowid) KEEP (DENSE_RANK first ORDER BY sal DESC) from emp e2 group by deptno)
SQL> /

3 rows created.

SQL> select * from emp3;

     EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
      7698 BLAKE      MANAGER         7839 01.05.1981       2850                    30
      7839 KING       PRESIDENT            17.11.1981       5000                    10
      7902 FORD       ANALYST         7566 03.12.1981       3000                    20

SQL>



.....
stax
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40020054
Aybo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ага работает, спс
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026430
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aybo
НеофитSQL,

Это как-то сложно.

Значит и еще проще задача - запихать через select into одну такую максимальную строку по конкретному name в переменную all_source%rowtype нельзя?
Только pl/sql цикл с сортировкой и exit?


Не так уж сложно:

Код: plsql
1.
2.
3.
4.
5.
select * from (
  select * from all_source а
   order by row_number() over (partition by a.owner, a.name order by a.line desc)
) where rownum <= (select count(*) from (select null from all_source c group by c.owner, c.name))
 



В отличие от решения предложенного Stax (которое мне нравится),
этот также работает на представлениях и других result sets, у которых отсутствует rowid.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026436
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL
этот также работает на представлениях и других result sets, у которых отсутствует rowid.

Грустно: ...бывают же извращенцы...

В догонку к причинам, по которым не следует заниматься универсализмом на insert (для закрытого топика):
env
Колонки не менял. Кажется, оно сломалось.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
-- Неофит запилил красоту:
create table emp(deptno, sal)
as select mod(rownum,3), rownum from dual connect by level < 10;
Table created

create table emp_copy as select * from emp where 1=0;
Table created

insert into emp_copy
select * from emp
 where rowid in (select max(rowid) KEEP (DENSE_RANK first ORDER BY sal DESC) from emp e2 group by deptno)
 ;
3 rows inserted

-- Через год пришли новые бизнес-требования

alter table emp add(FINE number default 0);
Table altered

-- Тут универсальная красота поломалась, но будучи разбужен среди ночи Неофит 
-- порекомендовал просто добавить новое поле в копию и не ломать ему мозг.

-- Там еще были вопросы по поддержке, и общая картина операций на копии была такая:

alter table emp_copy modify( --не буду учить плохому
Table altered

alter table emp_copy add(FINE number default 0);
Table altered

alter table emp_copy modify(--не буду учить плохому
Table altered

-- и - ура - Универсальный Красивый Процесс заработал

insert into emp_copy
select * from emp
 where rowid in (select max(rowid) KEEP (DENSE_RANK first ORDER BY sal DESC) from emp e2 group by deptno)
;
 
3 rows inserted


-- А потом пришла пора считать зарплату и Неофита  стали бить:

select * from emp_copy
;
 
    DEPTNO       FINE        SAL
---------- ---------- ----------
         1          0          7
         2          0          8
         0          0          9
         1          7          0
         2          8          0
         0          9          0
 
6 rows selected
 
SQL> 



Мораль: никогда не делайте insert без перечисления атрибутов.
Особенно легко обмануться на широких таблицах, но и на узких бывают нежданчики.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026441
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL,

Дополнительно вычитать вьюху со сложным порядком соединений и посчитать агрегат, лишь бы звёздочку в запросе написать? Да уж, лихой вы танцор, что тут говорить.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026449
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И это... Неофит, даже несмотря на ставшую уже традиционной бредовость подхода все еще есть что поковырять:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
select count(max(1)) from all_source c group by c.owner, c.name;

select count(count(*)) from all_source c group by c.owner, c.name;

или даже 

select count(unique c.owner||chr(0)||c.name) from all_source c;
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026453
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax

авторАналогичная - скопировать только последние строки исходников, например уже есть таблица:

Код: plsql
1.
2.
3.
  1  insert into emp3 select * from emp
  2*   where rowid in (select max(rowid) KEEP (DENSE_RANK first ORDER BY sal DESC) from emp e2 group by deptno)
SQL> /



.....
stax

Stax, я правильно понимаю, что если в исходных данных присутствует уникальный ключ, то его можно использовать вместо rowid, а если этот ключ с индексом, то и скорость будет сравнимая?
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026455
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL,

Tom
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026464
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous
И это... Неофит, даже несмотря на ставшую уже традиционной бредовость подхода все еще есть что поковырять:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
select count(max(1)) from all_source c group by c.owner, c.name;

select count(count(*)) from all_source c group by c.owner, c.name;

или даже 

select count(unique c.owner||chr(0)||c.name) from all_source c;



Первые две лучше и короче, спасибо.
Насчет последней сомнения в производительности по сравнению с первыми двумя.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026466
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL

Stax, я правильно понимаю, что если в исходных данных присутствует уникальный ключ, то его можно использовать вместо rowid, а если этот ключ с индексом, то и скорость будет сравнимая?


имхо,
по rowid быстрее

но по ключу тоже быстро, сравнимо

зы
в древних версиях rowid менялся в редких случаях ...


.....
stax
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026468
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
123йй
НеофитSQL,

Tom


Спасибо, это обсуждалось здесь ранее. Аксакалы вроде решили что rowid безопасен внутри запроса. 22228830
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026475
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL
Первые две лучше и короче, спасибо.
Насчет последней сомнения в производительности по сравнению с первыми двумя.

Традиционно не осознаете разницы между текстом написанным и программой исполненной.
Впрочем, это всё вторично.
Вы вот это разобрали внимательно?
22245618
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026477
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL,

Ещё раз. Любой инструмент имеет смысл использовать по назначению.

Для разовых батчевых операций над одной физической таблицей в ad-hoc режиме, когда человек полностью понимает, что он делает - rowid выгоден.
Для быстрого точечного обновления/удаления одной записи в коде/приложении - rowid можно использовать (и зачастую у компонент для работы с данными есть такая настройка).

В качестве универсального решения для общего случая - недетерминировано, несопровождаемо, убивает идемпотентность на корню. Это не говоря уж о том, что мало применимо к вьюхам и имеет массу других ограничений по использованию.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026478
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous
НеофитSQL
Первые две лучше и короче, спасибо.
Насчет последней сомнения в производительности по сравнению с первыми двумя.

Традиционно не осознаете разницы между текстом написанным и программой исполненной.
Впрочем, это всё вторично.
Вы вот это разобрали внимательно?
22245618


Я посмотрел раньше. Насчет insert я согласен, поэтому не прокомментировал.
Меня интересовал запрос в формате всей строки по другим причинам, для чтения.

Решение с PK/UK вместо rowid меня вполне устраивает, а для многих ситуаций где у result set нет ключа,
я могу сделать так, как показал ранее : отфильтровать по критерию, и отсчитать строки по числу групп.

Еще Анна Щукина в недавней теме показала как можно сделать "with ties", если кому интересно.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026482
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL,

Aybo "мешала" колонка rn, Вам она чем мешает?

.....
stax
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026490
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

22245573

Лень ему, просто лень. Поэтому будет городить монструозные небезопасные конструкции, лишь бы поля не писать.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026493
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env,

вот современные интернет-ресурсы в правилах оговаривают бан
за написание текстов , разжигающих ненависть.

Похоже, корпоративные правила написания текстов запросов полностью игнорируют эту тему.
Счастливый следующий все сломает по своему.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026498
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env
Stax,

22245573

Лень ему, просто лень. Поэтому будет городить монструозные небезопасные конструкции, лишь бы поля не писать.


в перечислении, тоже есть минус

синхронно поменяли структуры источника и приемника, а в copy не поправили, ничего не слетает, зато и не сохраняет

пока боком не вылезет, работает ведь

* слетит, сразу заметят

.....
stax
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026505
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

Про звёздочку Андрей уже хорошо показал, к чему может привести.

Stax
синхронно поменяли структуры источника и приемника,

Если при изменении структур не проверяются dependency, то это мягко говоря печально.

А если добавляемые поля not null, то упадёт обязательно.

От ошибки с порядком однотипных/конвертируемых полей по факту не спасёт ни *, ни перечисление. Разве что динамически каждый раз по словарю генерить список с проверкой наличия полей.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026507
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

ну, andrey_anonymous намекал на замену последовательности полей.
Представь, что это view - там это много более вероятно.
Если переставленные поля совместимы по типу - так и будут мусор в данных получать годами.
"Заметят" случайно, после ареста счетов налоговой инспекцией.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026511
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env
Stax,
Про звёздочку Андрей уже хорошо показал, к чему может привести.

многое от задачи зависит

тихо работает, но неполно (неправильно), может быть болезненей чем разовый слет

тем более после правки структур (ограничений)

.....
stax
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026513
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax
тихо работает, но неполно (неправильно),

со звёздочкой куда вероятнее ))
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026516
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
Stax,

ну, andrey_anonymous намекал на замену последовательности полей.
Представь, что это view - там это много более вероятно.
Если переставленные поля совместимы по типу - так и будут мусор в данных получать годами.
"Заметят" случайно, после ареста счетов налоговой инспекцией.


видел я про переставленные поля
но я себе не представляю такое в реале

встречал и другое, в "name" хранили "сумму" (ето чтоб не создавать еще одну колонку)

.....
stax
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026519
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять же, всё зависит от задачи.

Если уж нужна полноценная копия, то и средства надо выбирать соответствующие, вплоть до внешних механизмов репликации типа GG. Для разового выполнения через CTAS where 1=0 + insert /*+ append */ select * - звёздочка допустима (при отсутствии виртуальных колонок и подобных ограничений).
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026522
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

ну, пусть не "переставленные", а просто добавлили поле в "середину".
Вроде - работали с суммами в одной валюте, а потом надо добавить валюту,
и, чтобы "красиво" читалось, рядом с суммой конечно.
Или, еще лучше, долю от первой суммы, и, из тех же соображений, вставить ее между первой суммой и следующей за ней.

А дальше все это уходит на такого клиента, который имеет манеру обращаться к содержимому по номеру поля в результате.
Накреативить-по по лени - двигателю прогресса, можно немало.

Звездочка - обычно и ложный и дорогой интерфейс, как в сопровождении, так и в смысле скорости.
случаи всякие бывают, но каждый из них специальный.
sql - вообще плохо живет в качестве абстрактного интерфейса за очень узкими рамками
алгоритмов работы с множествами, которыми сам разработчик обычно, если вообще рулит,
то только хинтами.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026524
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

Натыкался на вариант заливки исторических данных в таблицу созданную по последнему состоянию из модели данных. Там был косяк архитектора - поля в модель добавлялись "как красивше", в отличие от таблицы в которую они добивались альтером в конец списка.

И ведь даже отработало
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026527
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env
вплоть до внешних механизмов репликации типа GG


в старых версия GG был очень дорогой

в нас используют, и не без проблем

ps
шоб понятно было, я за ПОЛНОЕ перечисление полей

но, лентяйство созблазняет звездочкой

.....
stax
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026530
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

А дальше все это уходит на такого клиента, который имеет манеру обращаться к содержимому по номеру поля в результате.
Накреативить-по по лени - двигателю прогресса, можно немало.


поменяли структуру, будьте готовы что аукнется, и не только из-за * и dbms_sql (по номеру поля)

.....
stax
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026533
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax
НеофитSQL,

Aybo "мешала" колонка rn, Вам она чем мешает?

.....
stax


У меня сейчас нет конкретной задачи, где колонка мешает.

Из прошлых задач, я делал промежуточную группировку/фильтрацию данных из 100500 колонок, где критерий фильтрации был основан на двух-трех из них. Акт фильтрации определен что %ROWTYPE на входе и выходе совпадает, иначе это не фильтрация а преобразование в другой формат, без чистого пути обратно.

Пока у меня все подмножества данной таблицы одного типа, я могу легко с ними работать. Хочу - union, хочу - intersect.
То, что перестановка или добавление/удаление колонок не потребует переделки моего кода, это бонус. Я пишу код так, чтоб не отбирал у меня потом у меня времени по пустякам.

Неочевидность (для меня) как сделать тип-сохраняющую фильтрацию меня на этой неделе заинтересовала, поэтому я исследовал эту тему.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026536
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL
Я пишу код так, чтоб не отбирал у меня потом у меня времени по пустякам

Пусть плачет отдел сопровождения?

НеофитSQL
я делал промежуточную группировку/фильтрацию данных из 100500 колонок,

И что же было её результатом? Куда и в каком виде он передавался?
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026539
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какие-то я тут слышу абсурдные мысли он некоторых. Или показалось?

Задача: выбрать строку по ключу

Moe решение:
Код: plsql
1.
2.
3.
  drow TBL%ROWTYPE;
...
  select * into drow from TBL t where t.pk = ...;



Кто-то собирается перечислять поля каждый раз, для такой задачи?
Что это даст, кроме занятости?
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026541
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env
НеофитSQL
Я пишу код так, чтоб не отбирал у меня потом у меня времени по пустякам

Пусть плачет отдел сопровождения?

НеофитSQL
я делал промежуточную группировку/фильтрацию данных из 100500 колонок,

И что же было её результатом? Куда и в каком виде он передавался?


В тот же код, который раньше читал нефильтрованные данные, или фильтрованные другими (также с соблюдением типа строки).

Принцип фильтрации - выкинь строчки, не меняй их формат. Удивляюсь, если это не очевидно.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026543
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL,

Конкретно для этого использования - применимо.

з.ы. если потом это не отдаётся наружу внешнему клиенту, который не умеет переопределять rowtype на лету.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026547
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL
Удивляюсь, если это не очевидно

С учётом того, что ваша терминология зачастую отличается от общепринятой - нет, не очевидно.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026600
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL
Задача: выбрать строку по ключу

Moe решение:
Код: plsql
1.
2.
3.
  drow TBL%ROWTYPE;
...
  select * into drow from TBL t where t.pk = ...;


Кто-то собирается перечислять поля каждый раз, для такой задачи?
Что это даст, кроме занятости?


С достаточно давних пор:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
...
cursor c1(p1...pn) is 
  select f1, f2
       , func(fn) as ffn
       , ..
    from TBL
   where ....
;
drow c1%ROWTYPE;
t_tb_drow is table of c1%ROWTYPE;
  tb_drow t_tb_drow;

...
  open c1(p1,p2,...pn);
  fetch c1 into drow;
  close c1;
...
  open c1(p1,p2,...pn);
  loop
    fetch c1 bulk collect into tb_drow limit N;
    forall i in 1..tb_drow.count
      insert into tgt_tbl(f1..fn)
      values(tb_drow(i).f1 ...)
      save exception
    ;
  exit when tb_drow.count < N;
  end loop;
  ...
  close c1;
  


Что касается "занятости" - повторюсь, генерация списка атрибутов не является проблемой .
Зато экономит кучу времени при поддержке кода.
Ну и описание структур через тип курсора многократно гибче и удобнее, чем через тип таблицы.
В частности, позволяет без проблем проводить через трансформацию как требуемую аналитику, так и обогащение .
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026640
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026647
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость


В статье речь идёт о "*" во внешнем селекте, от которого зависит переданное количество данных.

Ещё есть мулька что count(*) медленнее чем count(1), потому что звёздочка

:-)
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026648
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL
Ещё есть мулька
:-)

А еще есть плохая память на ники серьёзных экспертов.
...
Рейтинг: 0 / 0
Получить строку таблицы где 1 значение максимально
    #40026699
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL
В статье речь идёт о "*" во внешнем селекте

Да, особенно в части про Cached cursors take more memory in shared pool и Server-side memory usage
...
Рейтинг: 0 / 0
43 сообщений из 43, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Получить строку таблицы где 1 значение максимально
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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