powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
14 сообщений из 14, страница 1 из 1
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
    #32135970
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые коллеги,
имеется ХП proc1, которая выполняет два действия:
1. Вызывает другую ХП Proc2, которая формирует содержимое временной таблицы tabl1. Proc2 рекурсивна. Глубина рекурсии на тестовых данных не более 4.

2. Выполняет выборку. В разделе from присутствует table1.

Это не работатет. Возникает lock conflict.

Опытным путем устанвлено, есто если закоментрировать действие 1 (формирование таблицы), то выборка выполняется (пустая получается)

Если же закоментрировать действие 2, то таблица table1 исправно формируется, а выборка, разумеется, не выполняется.

В связи с этим вопрос. Возможен ли такой подход в принципе (формирование таблицы, а потом обращение к ней) или я в корне не прав и так делать нельзя?
...
Рейтинг: 0 / 0
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
    #32135986
Седов А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Calm В корне так делать можно. Нужно смотреть реализацию.
...
Рейтинг: 0 / 0
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
    #32135992
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Седов А.
Может быть я не правильно формирую таблицу?

Я делаю обычную выборку со вставкой. Примерно так:

for select ля-ля-ля
from ля-ля-ля_2
where ля-ля-ля_3
into ля-ля-ля_4
do begin
insert into table1 (ля-ля-ля_5)
values (ля-ля-ля_6);
end

и все. Может нужно чего добавить в конце для подтверждения инсертов?

А реализацию я смотрю...
...
Рейтинг: 0 / 0
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
    #32135993
Acue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня в процедуре записи сначала вставляются в таблицу, а потом читаются из нее, после чего над некоторыми из них в той же процедуре выполняются дополнительные действия: (Update или Delete).
...
Рейтинг: 0 / 0
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
    #32136003
Roman Ignatiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и ладушки, просто то, что стоит в into ля-ля-ля - вот это ля-ля-ля объяви в returns и после инсерта дай suspend
...
Рейтинг: 0 / 0
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
    #32136004
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А мне не ля-ля-ля нужно вернуть.
Кстати, неправильно написал. Нужно

for select ля-ля-ля
from ля-ля-ля_2
where ля-ля-ля_3
into ля-ля-ля_ 4
do begin
insert into table1 (ля-ля-ля_5)
values (ля-ля-ля_ 6 );
end
...
Рейтинг: 0 / 0
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
    #32136006
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять ошибся :(
Видно устал слегка...

for select ля-ля-ля
from ля-ля-ля_2
where ля-ля-ля_3
into ля-ля-ля_ 4
do begin
insert into table1 (ля-ля-ля_5)
values (ля-ля-ля_ 4 );
end
...
Рейтинг: 0 / 0
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
    #32136007
Седов А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Calm
Так, как вы написали это точно работает.
Ройте в сторону реурсии. Не налетает ли она на бесконечный цикл ?
Не пытается ли модифицировать ту запись, которая уже зацеплена предыдущим вызовом ? Вобщем код в студию.
А подтверждение транзакций в процедурах - это страшный сон MSSQL-истов. IB этим не болеет.
...
Рейтинг: 0 / 0
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
    #32136010
Седов А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Calm

values (ля-ля-ля_4);
"Пусть у нас есть m танков. Нет, m мало, лучше n" ; -))
...
Рейтинг: 0 / 0
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
    #32136015
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Седов А.
Большое спасибо за советы.

Похоже, что дело было в реализации выборки, а может еще в чем...
В общем, все это нужно делать на свежую голову.

Закоментировал все, что было, написал заново... и заработало !
А в чем был глюк не пойму :(
...
Рейтинг: 0 / 0
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
    #32136019
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>2 Calm
>>values (ля-ля-ля_4);
>>"Пусть у нас есть m танков. Нет, m мало, лучше n" ; -))

по-моему, я вполне корректно выразился
...
Рейтинг: 0 / 0
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
    #32136022
Седов А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Calm а глюк был в том, что скомпилировав процедуру ХП2, нужно следом за ней компилировать процедуру ХП1. Иначе ХП1 будет пользовать старую версию ХП2.
...
Рейтинг: 0 / 0
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
    #32136035
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот глюк был не в этом, потому как это мне известно. Тем более, что ХП2 я не менял.
...
Рейтинг: 0 / 0
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
    #32136053
Седов А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гмы ... тогда сдаюсь ... : -))
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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