powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Создание таблицы
11 сообщений из 11, страница 1 из 1
Создание таблицы
    #32098425
ImMikle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток всем! Поможите пожалуйста!
Возможно ли в теле процедуры создать таблицу.
в частности временную, или это делается другими методами
заранее благодарен
...
Рейтинг: 0 / 0
Создание таблицы
    #32098427
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем нужно создавать таблицу на лету?
...
Рейтинг: 0 / 0
Создание таблицы
    #32098435
ImMikle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если вкраце, то для навороченных отчетов.
принцып такой:
создается в процедуре временная таблица и потом в нее вливаются данные, просто отчеты дюже навороченные, а я недавно только перешел на oracle - волею судеб, раньше на MSSQL работал...
...
Рейтинг: 0 / 0
Создание таблицы
    #32098454
Alexandr Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И для отчетов вроде не обязат. создавать в процедуре, а лишь при
вызове delete from врем_таблица. А вообще стильно отчеты на одном select-е
делать.
А так по-простому -
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
EXECUTE IMMEDIATE 'CREATE TABLE temp_n(n number)';
END;
...
Рейтинг: 0 / 0
Создание таблицы
    #32098460
ImMikle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо :)
...
Рейтинг: 0 / 0
Создание таблицы
    #32098472
Ekuku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привет братьям по разуму!
я когда из MS на Oracle перешел ,то тоже искал подобное..
в Oracle проще всего пользовать временнЫе таблицы :
Код: plaintext
1.
2.
3.
4.
5.
6.
CREATE GLOBAL TEMPORARY table TMP_RP_CROSS_1( 
   ID           NUMBER DEFAULT  0  NOT NULL 
   ....
)
ON COMMIT PRESERVE ROWS
/
...
Рейтинг: 0 / 0
Создание таблицы
    #32098495
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нафик-нафик эти временные таблицы. Одним селектом почти всё что угодно можно сделать. ImMikle, давайте сюда ваш супер-отчёт (структура таблиц и что надо получить) - покажем, как надо делать
...
Рейтинг: 0 / 0
Создание таблицы
    #32098496
Oracle_Developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А у нас принято все отчеты делать над одной таблицей в которой куча столбцов разных типов.

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

А отчет только отображает.

По ночалу плюещься, а потом привыкаешь. К тому же начинаешь видеть некоторые преимущества
1) Отчет при желании можно запустить без перерасчета (иногда это подходит и экономит время)
2) С производительностью легче бороться.
3) Часто достаточно подкрутить только отчетную функцию и не надо складывать сам отчет в патч.
4) проще разбираться в других отчетах.
...
Рейтинг: 0 / 0
Создание таблицы
    #32098505
Ekuku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
..еще добавлю.. вот чего не было в мое время в MS-SQL6.5 так это возможности делать вложенные/nested таблицы и сложных/ATD типов для временных таблиц. В Oracle8-9 все это есть и логику конструирования отчета можно сделать весьма прозрачной.
---
Если бороться за производительность ,то полностью согласен со Scot
( как известно - все админы борються за убыстрение и уменьшение обьектов в схеме, наверно, даже во сне :-) )
---
Кстати, кто скажет, в MS-SQL теперешнем ,2000-ом, есть вложенные таблицы и сложные типы?
...
Рейтинг: 0 / 0
Создание таблицы
    #32098507
ImMikle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Друзья-сотоварищи, спасибо за разъяснения. Буду стараться не использовать такой подход. Просто, пока непревычно после сикула.
К тому же на сикуле использование временных таблей сильно повышало производительнось, в отличии от одного крутого запроса, я и хотел применить тут такую же тактику.
...
Рейтинг: 0 / 0
Создание таблицы
    #32098527
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знаю, сам когда-то переезжал с 7-го MS SQL. Из тех времён (микрософтовых) помнится сокращение времени запроса с 15 минут до 21 секунд после перехода от навороченного запроса к временным таблицам В оракле не так всё печально.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Создание таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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