powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Почему не видит динамически создаваемые таблицы
36 сообщений из 36, показаны все 2 страниц
Почему не видит динамически создаваемые таблицы
    #39510882
SlobAn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

В процедуре динамически дропаю и создаю таблицу. Она прекрасно создается.
Далее в этой же процедуре динамически пытаюсь наполнить ее данными не получается.
Пишет таблица не существует.

Может какие то настройки нужно включить?
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39510889
SlobAn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
получилось.
Оказывается нужно дропать и создавать с "WITH AUTONOMOUS TRANSACTION"
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39510891
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо так делать. Если нужна временная таблица - создай один раз временную таблицу. А с
твоим MS-way БД умрёт через пару недель из-за исчерпания лимита на таблицы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39510934
SlobAn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ограничения?
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39510999
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAn,

https://firebirdsql.org/en/firebird-technical-specifications/

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

https://firebirdsql.org/en/firebird-technical-specifications/

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

Я, конечно, махровый реакционер, консерватор и ретроград, но. За всю историю моих отношений с реляционными моделями, а ей 22 года, и кое-кто, наверное, помнит, что таблиц у меня в базе последнего проекта под три тыщи, мысель о том, что вота тута временная таблица была бы к месту, меня посещала раза 2-3.
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39511082
SlobAn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, переделал на delete insert, жалко нет аналога truncate table
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39511084
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAnспасибо, переделал на delete insert, жалко нет аналога truncate table
На что переделал??
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39511125
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAn,

про GTT почитать не пробовал?
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39511144
SlobAn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чччДSlobAnспасибо, переделал на delete insert, жалко нет аналога truncate table
На что переделал??

Создаю таблицу один раз. При следующих выполнениях проверяю на существование и удаляю данные и заполняю новыми данными.

GTT - пока не пробовал.
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39511146
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAnGTT - пока не пробовал.

Почему?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39511266
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СПМ> временная таблица была бы к месту, меня посещала раза 2-3.

Да ладно, читай те же самые обычные таблицы,
только самому чистить не нужно, автоматически.
Обычные-то ты, наверняка, ночером в чистку ставил.
Хотя на больших продакшенах может и дешевле
получиться, вполне.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39511270
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамСПМ> временная таблица была бы к месту, меня посещала раза 2-3.

Да ладно, читай те же самые обычные таблицы,
только самому чистить не нужно, автоматически.
Обычные-то ты, наверняка, ночером в чистку ставил.
Хотя на больших продакшенах может и дешевле
получиться, вполне.


Ни фига не ставил. Просто под аналитику предусмотрена сеть хранимых агрегатов, часть из которых заполняется как раз ночером. И не надо с первичными данными мурыжиться при каждом запросе. И понадобится инфа за 10 лет назад - всё под рукой, разжёвано и подготовлено, только глотай. Потребность во временных таблицах возникает (имхо, разумеется) когда
а) структура не продумана под бизнес-процесс в целом, проработана только оперативная подсистема
б) возникает потребность быстро собрать однократно совершенно нетипичный отчёт. Который может, в изменившихся условиях функционирования системы в целом (не только софтового её отражения) стать регулярным, и тогда, после удовлетворения первичной срочной потребности, под него наращивается структура.
в) при трансформации структуры однократно, для преобразования старой в новую.

[spoiler]
YouTube Video
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39511278
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка... Потребность во временных таблицах возникает (имхо, разумеется) когда
а) структура не продумана под бизнес-процесс в целом, проработана только оперативная подсистема
б) возникает потребность быстро собрать однократно совершенно нетипичный отчёт. Который может, в изменившихся условиях функционирования системы в целом (не только софтового её отражения) стать регулярным, и тогда, после удовлетворения первичной срочной потребности, под него наращивается структура.
в) при трансформации структуры однократно, для преобразования старой в новую.

[spoiler]
YouTube Video
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39511280
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДЭто не те временные таблички.

Ну так расскажи какие те
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39511289
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СПМ> а) структура не продумана под бизнес-процесс в целом,
СПМ> проработана только оперативная подсистема

Под такое описание 90% ИС можно подвести.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512011
SlobAn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovSlobAnGTT - пока не пробовал.

Почему?


Не подходит. Так как данные потом переносятся в другую базу. А там уже коннект другой (таблица зануляется...)
Или можно сделать из текущей базы инсерт в таблицу другой базы?
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512031
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAnИли можно сделать из текущей базы инсерт в таблицу другой базы?
давно. execute statement on external
http://www.ibase.ru/files/firebird/langref25rus/index.html
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512123
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAnНе подходит. Так как данные потом переносятся в другую базу.
Или можно сделать из текущей базы инсерт в таблицу другой базы?

А нафига ехать из Москвы в Е-бург через Питер? Что-то мешает сделать инсерт сразу в другую
базу?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512554
SlobAn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvSlobAnИли можно сделать из текущей базы инсерт в таблицу другой базы?
давно. execute statement on external
http://www.ibase.ru/files/firebird/langref25rus/index.html

да, я использую его.
Но делаю так:
Создаю процедуру в другой базе которая возвращает данные с текущей базы таблицы:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
        EXECUTE STATEMENT 'create or alter procedure '||:LINKED_SERVER||'
                            returns (
                                '||:FLDS1||')
                            as
                            begin
                              FOR
                                EXECUTE STATEMENT ''SELECT '||:FLDS5||' FROM '||:RELATION_NAME||' where '||:OBJ||'='||:KO||'''
                                  ON EXTERNAL '''||:BASE_FILE||'''
                                  WITH autonomous transaction
                                INTO '||:FLDS3||'
                              DO 
                                SUSPEND;
                            end'
        ON EXTERNAL :BASE_FILE_CXD
        WITH autonomous transaction;

Затем делаю инсерт в таблицу другой базы используя эту процедуру:
            EXECUTE STATEMENT  'insert into '||:TABLE||' ('||:FLDS2||')
                                select '||:FLDS2||'
                                from '||:LINKED_SERVER||' where KNP='||:KNP_ID
            ON EXTERNAL :BASE_FILE_CXD
            WITH autonomous transaction;



Не знаю можно ли делать инсерт из другой базы не создавая промежуточную процедуру LINKED_SERVER?
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512555
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAn,

Execute Block.
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512560
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAn> Не знаю можно ли делать инсерт из другой базы не создавая промежуточную процедуру

Можно.

И используй тег (кнопку) SRC для кода.
Как мне оформить свое сообщение?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512569
SlobAn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов РустамSlobAn> Не знаю можно ли делать инсерт из другой базы не создавая промежуточную процедуру

Можно.

И используй тег (кнопку) SRC для кода.
Как мне оформить свое сообщение?


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

вот так
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512592
SlobAn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов РустамSlobAn> Не знаю можно ли делать инсерт из другой базы не создавая промежуточную процедуру

Можно.



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

зачем каждый раз создавать ХП? Что один раз нельзя создать и использовать потом?
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512610
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAnСоздаю процедуру в другой базе которая возвращает данные с текущей базы таблицы
я такого извращенного звездеца еще не видел. Это даже не штаны через голову, а что-то невообразимое.
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512658
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvSlobAnСоздаю процедуру в другой базе которая возвращает данные с текущей базы таблицы
я такого извращенного звездеца еще не видел. Это даже не штаны через голову, а что-то невообразимое.Да уж, автор тот еще затейник. Но это проходит, как тлько дело да рабочих нагрузок дойдет, весь этот "затейливый хлам" будет быстро отправлен на помойку.

Автор, ты можешь по нормальному сказать что тебе нужно сделать, а то методы решения навевают мысли, что мы в цирке. :)
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512816
SlobAn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две базы C:\Data\BASE1.RDB второй C:\Data\BASE2.RDB
в каждой базе по таблице table1 и table2 одинаковой структуры.

Помогите написать процедуру в первой базе, чтобы перенести данные таблицы 1 в таблицу 2 второй базы.
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512828
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAnПомогите написать процедуру в первой базе, чтобы перенести данные таблицы 1 в таблицу 2
второй базы.

For select .... insert on external data source. RTFM.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512830
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAn,

по уму вторая база должна запрашивать данные через ES и записывать их в table2. Собсвтвенно такая процедура создаётся в базе2 только один раз и вызывается когда нужно.
Как-то так

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE PROCEDURE SP_COPY_FROM_DB1
AS
  DECLARE field1 INTEGER;
  DECLARE field2 VARCHAR(32);
BEGIN
  FOR EXECUTE STATEMENT 
         'SELECT field1, field2 FROM table1'
    ON EXTERNAL 'server:db1' 
    AS USER 'SYSDBA' PASSWORD 'masterkey'
    INTO :field1, :field2
  DO
  BEGIN
     INSERT INTO table2(field1, field2)
     VALUES(:field1, :field2);
  END
END



безо всяких приседаний с созданием временных ХП и таблиц
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512832
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAn,

подключаешься к первой базе, там создаешь процедуру, в которой переносишь данные через on external во вторую базу.

Эту операцию (перенос данных) надо регулярно проводить, или одноразово? Первая и вторая базы все время одинаковые, или бывает что разные?
Можно же, например, без всяких процедур и on external сделать по коннекту к обоим базам и скопировать данные из одной в другую.
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39512996
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAn> Подскажите пожалуйста как сделать.

Денис тебе уже подсказал решение, с готовым кодом.
Но я всё же посоветовал бы озвучить саму прикладную
задачу (т.е. не БД1, БД2, а зачем это всё надо) - авось
и получше архитектурное решение подскажут.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39513101
SlobAn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов ДенисSlobAn,

по уму вторая база должна запрашивать данные через ES и записывать их в table2. Собсвтвенно такая процедура создаётся в базе2 только один раз и вызывается когда нужно.
Как-то так

безо всяких приседаний с созданием временных ХП и таблиц

Денис спасибо, понял. Т.е. все таки без создания процедуры во второй базе никак. Оставлю свою идею. Там много нюансов структуры таблиц конечно разные. Программа которая работает с 1ой базой не знает о существовании второй, но после изменения данных данные должны поменяться во второй.
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39513176
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAn...Т.е. все таки без создания процедуры во второй базе никак...
EB
...
Рейтинг: 0 / 0
Почему не видит динамически создаваемые таблицы
    #39513249
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlobAnПрограмма которая работает с 1ой базой не знает о существовании второй, но после изменения
данных данные должны поменяться во второй.

Для этого есть готовые репликаторы, которые не извращаются с созданием таблиц на лету.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
36 сообщений из 36, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Почему не видит динамически создаваемые таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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