powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle 8i, курсоры и временная таблица
25 сообщений из 49, страница 1 из 2
Oracle 8i, курсоры и временная таблица
    #39367978
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги,
помогите дилетанту правильно расставить комментарии внутри BEGIN . . . end get_PrebivanieTB; :
Код: 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.
61.
62.
63.
64.
65.
66.
67.
68.
 
procedure get_PrebivanieTB(
   cur_viborka out t_cursor
   ,xdate in date
 )
 is
  CURSOR cr IS
   SELECT * 
   FROM (
    SELECT 
      TRIM(obv.numopzn) numopzn
     ,slv.namvrr namvrr  
     ,jdk.numdoc numdoc
     ,obj.ABBROBJR  mesto
     ,SUBSTR(loc.coord, 1, 7) lat
     ,SUBSTR(loc.coord, 8, 8) lng
     ,obv.dateizm dateizm
    FROM
     . . .
     ,( SELECT . . .  FROM . . .   WHERE . . .) pv
     ,( SELECT . . .  FROM . . .   WHERE . . .) svyaz
     ,( SELECT . . .  FROM . . .   WHERE . . .  AND jdc.codformuv = sfu.codformuv (+) ) jdk
    WHERE 
      obv.DEL IS NULL
     AND obv.coddoc = jdk.coddoc (+)
      . . . 
     AND TRUNC(obv.dateizm) <= xdate
    ORDER BY
      obv.numopzn
     ,obv.dateizm DESC
  );
  
  xstr varchar2(30);

 BEGIN
   execute immediate 'TRUNCATE TABLE tbl_tmp_gis'; 
   -- DELETE FROM  tbl_tmp_gis;
   -- COMMIT;

  xstr := '  ';
 
  --//-- Выборка первых строк в группах
  FOR row IN cr LOOP
   IF row.numopzn <> xstr THEN
    INSERT INTO tbl_tmp_gis VALUES (
      row.numopzn
     ,row.namvrr
     ,row.numdoc
     ,row.mesto
     ,row.lat
     ,row.lng
     ,row.dateizm 
    );
    xstr := row.numopzn;
   END IF; 
  END LOOP;
  
  -- COMMIT;
  
  open cur_viborka for 
  SELECT *
  FROM  tbl_tmp_gis;
 
  --  execute immediate 'TRUNCATE TABLE tbl_tmp_gis'; 
  -- DELETE FROM  tbl_tmp_gis;
  -- COMMIT;

 end get_PrebivanieTB; 



С уважением,
Владимир
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368032
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевпомогите дилетанту правильно расставить комментарии внутри BEGIN . . . end get_PrebivanieTB

Формат форума не позволит опубликовать столько нецензурных выражений.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368037
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Dimitry Sibiryakov, сегодня, 17:54 [20008649]
> ...

А по делу,- слабо.
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368045
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевА по делу,- слабо.
По делу - надо выкинуть всё между begin-end. И сами begin-end тоже выкинуть. Вместо всего
этого ужаса написать один запрос с оконными функциями. Или ещё и немного изменить
структуру БД чтобы обойтись без них. Работать будет быстрее.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368101
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Dimitry Sibiryakov, сегодня, 18:03 [20008708]

>Или ещё и немного изменить структуру БД ...
Не реально.

>По делу - надо выкинуть ...
Если не затруднит, покажите Ваш вариант.
Проверил 5-ть вариантов:
1. С аналитической функцией,
2. Обвал, - во временную таблицу записываю отсортированную выборку, её содержимое в курсор и клиенту,
3. Цикл по курсору - что прошу прокомментировать,
4. Дедушкин вариант - во временную таблицу записываю отсортированную выборку, далее SELECT c внутренним SELECT с MAX и группировкой --> содержимое в курсор и клиенту,
5. В лоб - 2-ва SELECT, один во FROM --> содержимое в курсор и клиенту.

п.с. в полную выборку входит UNION
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368104
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Dimitry Sibiryakov, сегодня, 18:03 [20008708]

>... Вместо всего этого ужаса написать один запрос с оконными функциями.
Если Вы имеете ввиду аналитическую функцию row_number(), то этот вариант на объекте не катит.
Кроме того вдвое медленнее (на тестовой системе) вариантов цикла и дедушки, а система интерактивная и время её реакции не последний фактор.
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368110
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевЕсли Вы имеете ввиду аналитическую функцию row_number(), то этот вариант на объекте не катит.

Нет, я имел ввиду функцию FIRST_VALUE.

ВМоисеевКроме того вдвое медленнее (на тестовой системе) вариантов цикла и дедушки, а система
интерактивная и время её реакции не последний фактор.

Тогда Вам не стоило убивать возможность использования индексов для фильтрации своим TRIM().
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368129
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Dimitry Sibiryakov, сегодня, 19:35 [20009007]

>Нет, я имел ввиду функцию FIRST_VALUE.
Аналитические функции не работают на объекте.

>Тогда Вам не стоило убивать ...
Убрал, никакой реакции.
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368304
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевЕсли Вы имеете ввиду аналитическую функцию row_number(), то этот вариант на объекте не катит.

Аналитические функции не работают на объекте.


Версию и редакцию СУБД в студию.
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368342
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envВерсию и редакцию СУБД в студию.Сабж не виден?
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368394
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

Насколько я помню, row_number() и first_value() в 8i уже были (со второго кажется релиза).
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368396
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

пруф

посему уточняю возможности версии ТС
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368408
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env пруф посему уточняю возможности версии ТСТ.е. ты не в курсе, что на любой версии 8i использование аналитики в PL/SQL (который, наш боря назвал "объектом") было крайне затруднено?
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368463
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

В том чиcле при использовании во view?
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368810
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>env, сегодня, 09:25 [20009923]

>Версию и редакцию СУБД в студию.

1. Сожалею, но на данный момент нужной информацией не обладаю.
2. На тестовом примере вариант аналитической функции примерно вдвое проигрывает варианту цикла.
3. Почему на 2-ой строке с -- execute immediate 'TRUNCATE TABLE tbl_tmp_gis'; возникает ошибка?

С уважением,
Владимир.
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368816
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев3. Почему на 2-ой строке с -- execute immediate 'TRUNCATE TABLE tbl_tmp_gis'; возникает ошибка? http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368826
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Elic, сегодня, 16:34 [20013096]

>RTFM
К чему это, - есть конкретный вопрос по представленному тексту.
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368847
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевК чему этоRTFM Error Messages (FAQ)
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368861
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев3. Почему на 2-ой строке с -- execute immediate 'TRUNCATE TABLE tbl_tmp_gis'; возникает ошибка?


Хрустальный шар сегодня плохо работает, не видно ни кода ошибки ни описания
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39368922
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Elic, сегодня, 16:56 [20013232]

>RTFM Error Messages (FAQ)
Что имею: ORA-08103
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39369134
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elicenv пруф посему уточняю возможности версии ТСТ.е. ты не в курсе, что на любой версии 8i использование аналитики в PL/SQL (который, наш боря назвал "объектом") было крайне затруднено?ТС еще и путается в показаниях, похоже на боевой и на программерской у него разные восьмерки
Oracle having first
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39369263
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Вячеслав Любомудров, сегодня, 05:35 [20015047]

>... похоже на боевой и на программерской у него разные восьмерки ...
У меня такие-же подозрения, но сисадмин против.
Сети разные:
1. боевая - нормальная локальная сеть на базе Windows Server 2003 и Oracle 8i,
2. тестовая - виртуализация VMWare, Windows Server 2003 и Oracle 8i 1.7
3. Но вопрос, как правильно очищать временные таблицы Oracle, не потерял актуальности
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39369265
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисееввопрос, как правильно очищать временные таблицы Oracle, не потерял актуальности

Завершением транзакции или сессии в зависимости от её (таблицы) типа.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39369282
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев1. боевая - нормальная локальная сеть на базе Windows Server 2003 и Oracle 8i,
2. тестовая - виртуализация VMWare, Windows Server 2003 и Oracle 8i 1.7Это археологический музей или институт времени?
...
Рейтинг: 0 / 0
Oracle 8i, курсоры и временная таблица
    #39369301
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работает. Чего трогать-то?
Кассовую программу под DOS будем менять только потому что закон выпустили. А так бы еще работала и работала.
...
Рейтинг: 0 / 0
25 сообщений из 49, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle 8i, курсоры и временная таблица
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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