powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Временная таблица в Firebird
23 сообщений из 23, страница 1 из 1
Временная таблица в Firebird
    #35093626
zuzuzunoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как создать временную таблицу во Firebird...
в ms sql это так create table #test (id int, name varchar(20))
а во Firebird как, просто знаки типа "@, #" - не проходять помогите плиз
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35093634
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zuzuzunoz
z> Подскажите как создать временную таблицу во Firebird...
z> в ms sql это так create table #test (id int, name
z> varchar(20)) а во Firebird как, просто знаки типа "@, #" -
z> не проходятьмягкий знак запал ? :)
читай доку (релизные ноты) к твоему неизвестному серверу
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35093796
Фотография MNF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zuzuzunoz
Код: plaintext
1.
2.
3.
4.
5.
CREATE GLOBAL TEMPORARY TABLE MY_TABLE (
) ON COMMIT DELETE ROWS;

CREATE GLOBAL TEMPORARY TABLE MY_TABLE (
) ON COMMIT PRESERVE ROWS;
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35093867
zuzuzunoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MNF zuzuzunoz
Код: plaintext
1.
2.
3.
4.
5.
CREATE GLOBAL TEMPORARY TABLE MY_TABLE (
) ON COMMIT DELETE ROWS;

CREATE GLOBAL TEMPORARY TABLE MY_TABLE (
) ON COMMIT PRESERVE ROWS;


в версии 2.0 не прокатывает
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35093918
Семён Р
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Временные таблицы, поддерживаются с версии 2.1
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35093920
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zuzuzunozв версии 2.0 не прокатывает

Тогда переделывай логику для неиспользования временных таблиц. Обычно
все, что начинающие пытаются сделать на временных таблицах гораздо проще
делается на хранимых процедурах (они в птичке мощнее мелкомягких).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35093924
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторчто начинающие пытаются сделать на временных таблицах
он к ним на ms sql привык.
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35093971
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvон к ним на ms sql привык.

Мало ли к какой фигне он привык на ms sql... Пусть отвыкает, а то
следующий вопрос будет "почему оно ругается если я пытаюсь выбирать
данные из таблиц inserted и deleted".
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35094012
ens
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да мне тоже пришлось отвыкать от #table на MsSQL. Долго отвыкал, но ничего страшного не случилось, все работает как часы...
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35094022
ens
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
kdvон к ним на ms sql привык.

Мало ли к какой фигне он привык на ms sql... Пусть отвыкает, а то
следующий вопрос будет "почему оно ругается если я пытаюсь выбирать
данные из таблиц inserted и deleted".
Posted via ActualForum NNTP Server 1.4

хотя по поводу insert и delete, как утверждают некоторые FB скоро придет к тому что свои new и old придется все таки заменить на таблицы. Бытует мнение что insert и delete работает гораздо быстрее чем new и old. Или я не прав?
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35094044
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ens
как утверждают некоторые FB скоро придет к тому что свои new и old
придется все таки заменить на таблицы.

Хотелось бы знать источник. В официальном fb_devel и fb_architect ничего
подобного не слышно. Для такой замены требуется как минимум поменять
модель триггеров - перейти от FOR EACH ROW к statement-level. А это
полная потеря обратной совместимости. Другое дело если такую модель
когда-то кто-то добавит к существующей. Но быстрее оно всяко не будет.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35094173
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторкак утверждают некоторые FB скоро придет к тому что свои new и old придется все таки заменить на таблицы.
служба ОБС?

авторБытует мнение что insert и delete работает гораздо быстрее чем new и old. Или я не прав?

что значит insert/delete работают быстрее чем new и old? new и old это префиксы значений столбцов в триггерах при insert/update/delete. а в MS SQL inserted/updated/deleted - это таблицы контекста транзакции.
И отсюда совершенно разная модель обработки конфликтов. Если в FB изменения вносятся сразу, не дожидаясь commit (благодаря версионности), то в MS SQL если я правильно понимаю, изменения вносятся как раз по commit. Т.е. модель deferred constraints.

поэтому говорить о том, что одно медленнее другого, невозможно вообще.

p.s. интересная жизнь у людей - кто-то чего-то брякнул, другой повторил и добавил свое. Так и играют в испорченный телефон.
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35105698
Pan Vlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Дмитрий, а в чем fb круче mssql в плане процедур? Да и вообще, где бы освежить память и просто подучить вьюхи и хп? Например, тут советуют заменить вьюхи процедурами, как процедура может вернуть не значение - набор?
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35105740
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pan Vlad как процедура может вернуть не значение - набор?прочитай про FOR SELECT DO
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35106125
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pan Vlad> Дмитрий, а в чем fb круче mssql в плане процедур?

А где именно такое было сказано?

Pan Vlad> Да и вообще, где бы освежить память и просто подучить вьюхи и хп?

В статьях / книжках / доке.



Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35107195
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамА где именно такое было сказано?

Двумя сообщениями выше. Я чревовещал, чтобы новичок проникся. Помнится,
в "сравнении СУБД" всегда делался упор на то, что в MS SQL традиционно
слабая и тормозная поддержка курсоров, костылем от которой и являются
временные таблицы.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35107234
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovДвумя сообщениями выше. Я чревовещал, чтобы новичок проникся. Помнится,
в "сравнении СУБД" всегда делался упор на то, что в MS SQL традиционно
слабая и тормозная поддержка курсоров, костылем от которой и являются
временные таблицы.
А при чем тут курсоры? И почему из-за них "fb круче mssql в плане процедур" ?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35107399
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
А при чем тут курсоры? И почему из-за них "fb круче mssql в плане
процедур" ?

Потому что практически все, что в MS SQL делается временными таблицами,
в FB делается (неявными) курсорами через FOR SELECT, в который уже ткнули.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35107452
RENaissance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Потому что практически все, что в MS SQL делается временными таблицами,

А мужики то не знали (с)
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35109003
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov> Потому что практически все, что в MS SQL делается временными таблицами

Дим, ну ерунду же говоришь. В MSSQL далеко не все делается временными таблицами.

P.S. Таким макаром можно рассуждать, что и MSSQL круче FB потому что временные
таблицы в нем появились раньше.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #35109604
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
Дим, ну ерунду же говоришь. В MSSQL далеко не все делается временными таблицами.


Я представляю, откуда такое мнение берется.
Пришёл недавно к нам на собеседование парень. "Типа круто знаю SQL, но для MS SQL".
В общем- join'ов не знает (вообще, даже неявных), подзапросы или group by - тоже.

Выяснили- он все писал через процедурки и временную таблицу. Циклами выборки, что ли.
После его ухода долго в себя приходили.
Но MS SQL тут не при чём, я думаю.

--
Алексей
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Временная таблица в Firebird
    #39837517
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zuzuzunozПодскажите как создать временную таблицу во Firebird

Может кому ещё пригодится..
Мне понадобилось что-то вроде внутренней временной таблицы для работы в хранимой процедуре.
И я сделал селективную процедуру и к ней уже можно обращаться, как к таблице.


но "временная" процедура довольная простая, нашёл здесь, на форуме

create or alter procedure UNLIST
Код: sql
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.
SET TERM ^ ;

create or alter procedure UNLIST (
    STRING varchar(255))
returns (
    RES STRING24)
as
declare variable SEPARATOR varchar(1);
BEGIN
  SEPARATOR = ',';
  RES = '';

  WHILE (STRING != '') DO
  BEGIN
    IF (SUBSTRING(STRING FROM 1 FOR 1) != SEPARATOR) THEN
      RES = RES || SUBSTRING(STRING FROM 1 FOR 1);
    ELSE
    BEGIN
      IF (RES != '') THEN SUSPEND;
      RES = '';
    END
    STRING = SUBSTRING(STRING FROM 2);

  END
  IF (RES != '') THEN SUSPEND;
END
^

SET TERM ; ^




**не бейте за поднятие старой темы
...
Рейтинг: 0 / 0
Временная таблица в Firebird
    #39837948
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

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


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