powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли внутри хранимой процедуры создать таблицу?
23 сообщений из 23, страница 1 из 1
Можно ли внутри хранимой процедуры создать таблицу?
    #32075120
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация такая:
для обработки древовидной структуры, хранящейся в таблице, хочу создать в хранимой процедуре временную таблицу. Обработать ее соотведствующим образом и затем удалить.

Возможно ли это в IB? Попытался сделать - компилятор ругается на слово create

Заранее спасибо.
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32075132
noir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDL (CREATE, ALTER, DROP) В ХП запрещены :(.
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32075139
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромный минус IB :((
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32075160
ОВГ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А разве нельзя добавлять и удалять записи из постоянной таблицы?
Зачем таблицу убивать?
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32075947
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да можно, конечно.
Но как-то это не совсем красиво - закладывать в структуру таблицу, которая не хранит данные постоянно.
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076128
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем эти данные вообще нужны? Может можно обойтись хранимой процедурой?
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076213
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно обойти дерево
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076222
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может я чего-то не понимаю в поставленной задаче, но дерево можно легко обойти при помощи хранимой процедуры с рекурсией (For Select). А создавать таблицу и удалять ее - это как сказали невозможно. Удалять, вставлять записи -, не думаю, что это будет особенно быстро.
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076236
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.к. дерево небольшое (максимум 100-150 записей), то, думаю, торможения заметно не будет.

А по поводу рекурсии я слышал, что ее глубина ограничена 32 вызовами. Так ли это?
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076251
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я про такое не слышал... У меня в принципе не было такой глубины как 32.
Если это так, то это фигня какая-то... :-(((
Попробуй проэксперементируй...

P/s To All
Народ! Неужели это так? Ответьте, если так...
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076256
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Под мосдаем 750 уровней, под юнихом - 1000. Кузьменко мне обещал когда-нибудь вынести это в конфигурационный файл FB. А пока так.
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076260
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если нужен просто Select, то:
Я сталкивался с такими ситуациями

Table1
{ID
Name
ParentId}

Можно Select*from и на клиенте обрабатывать, дерево строить.
Можно воспользоваться компонентами DeveloperExpress (Обалденная штука)
Там есть TdxDBTreeList (версия 3.22), которому указываешь Id и ParentId, а он дерево строит.

Если нужно, например, update у узла его детей (например, delete), то без рекурсии не обойтись

P/s а зачем нужна такая большая глубина? Даже на жестком диске такую вложенность не встретишь. :-)
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076263
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Gold
Это ты про "русский" FB? А он хороший (в смысле без глюков)? А как он с IBExpert работает?
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076283
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно ссылочку, где скачать Developer Express?
Хотя мне хотелось бы дерево обрабатывать в базе, а не на клиенте.
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076303
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Babrow
Это ты про "русский" FB?
^^^^^^
Это ещё что за новости?
FB - клон IB (вражеский, но там много русских програмеров), а Yaffil - клон FB, делают в Питере.

А он хороший (в смысле без глюков)?
Глюков везде много, но в FB их точно меньше, чем в IB, да и пошустрее он, а дятел ещё шустрее их обоих раза в 3, только он платный и только под мосдай. В FB много всяких плюшек. Сегодня сделали FB 1.5 Alpha 5. О нововведениях читай здесь: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/firebird/firebird2/doc/WhatsNew?rev=HEAD&content-type=text/vnd.viewcvs-markup

А как он с IBExpert работает?
Замечательно и чудесно.
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076316
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Calm
Компоненты Developer Express платные и стоят фигову тучу денег...
Но из любой ситуации есть выход :-)
http://forum.ru-board.com - тема Варезник (здесь надо зарегестрироваться)
Потом заходишь на Крякнутые компоненты для Delphi. Посмотришь ссылки на DeveloperExpress QuantiumGrid 3.22. Вообще я бы советовал скачивать все вещи от DevEx. Для твоей задачи 100-150 записей - идеальный вариант. Указываешь ему ПК и поле родителя, и он тебе строит дерево без всяких напрягов.

2 Gold
Спасибо за иноформацию.

1)А можно ли где нибудь достать Yafill, если он такой шустрый бесплатно? ;-)
2)А как-нибудь можно связаться с русскими разработчиками из FB? Ну в смымсле, если вопросы какие-нибудь будут и т.д.?
3)При переходе с 6 Ib на Fb есть какие-нибудь тонкости?
4)Работает ли FB на IBX компонентах?
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076318
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Gold
Sorry за навязчивость...
А 7 IB как? В смысле по-сравнению с FB?
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076337
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1)А можно ли где нибудь достать Yafill, если он такой шустрый бесплатно? ;-)
А хорошо ли это? :-)

2)А как-нибудь можно связаться с русскими разработчиками из FB? Ну в смымсле, если вопросы какие-нибудь будут и т.д.?
Уже 100 раз адрес этой конфы писался: news://forums.demo.ru/epsylon.public.interbase

3)При переходе с 6 Ib на Fb есть какие-нибудь тонкости?
Нет, т.к. FB и пошёл от 6-го IB

4)Работает ли FB на IBX компонентах?
Да, но луше посмотри FIBPlus

А 7 IB как? В смысле по-сравнению с FB?
Посмотри в архиве вышеуказанной конфы. А вобще, он дорогой. Так как IB Clasic не существует, то там переделали взаимодействие потоков => SuperServer параллелится на многопроцессорных машинах. Вроде появились временные таблицы.
А вобще, те, кто пробовал, говорили, что он не стал намного шустрее, вроде бы.
Лично моё мнение - FB намного лучше. Бдет Classic под мосдай => с распараллеливанием на многопроцессорных машинах под мосдаем не так уж всё и плохо :-)
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076349
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076409
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А не подскажешь ли ссылку на оф. сайт Yafill, а то я как ни искал, не могу найти. Спасибо.
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076420
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто его знает. Посмотри на http://interbase-world.com и ibase.ru.
Есть конференция по дятлу, токо не помню, где - ищи
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076454
Vodan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот место, где можно скачать халявного дятла:
http://www.sbsoft.ru/tech/software/yaffil/index.shtml
...
Рейтинг: 0 / 0
Можно ли внутри хранимой процедуры создать таблицу?
    #32076821
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Vodan

Спасибо!!!
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли внутри хранимой процедуры создать таблицу?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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