|
|
|
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
|
|||
|---|---|---|---|
|
#18+
Уважаемые коллеги, имеется ХП proc1, которая выполняет два действия: 1. Вызывает другую ХП Proc2, которая формирует содержимое временной таблицы tabl1. Proc2 рекурсивна. Глубина рекурсии на тестовых данных не более 4. 2. Выполняет выборку. В разделе from присутствует table1. Это не работатет. Возникает lock conflict. Опытным путем устанвлено, есто если закоментрировать действие 1 (формирование таблицы), то выборка выполняется (пустая получается) Если же закоментрировать действие 2, то таблица table1 исправно формируется, а выборка, разумеется, не выполняется. В связи с этим вопрос. Возможен ли такой подход в принципе (формирование таблицы, а потом обращение к ней) или я в корне не прав и так делать нельзя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 16:40 |
|
||
|
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
|
|||
|---|---|---|---|
|
#18+
2 Calm В корне так делать можно. Нужно смотреть реализацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 16:54 |
|
||
|
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
|
|||
|---|---|---|---|
|
#18+
2 Седов А. Может быть я не правильно формирую таблицу? Я делаю обычную выборку со вставкой. Примерно так: for select ля-ля-ля from ля-ля-ля_2 where ля-ля-ля_3 into ля-ля-ля_4 do begin insert into table1 (ля-ля-ля_5) values (ля-ля-ля_6); end и все. Может нужно чего добавить в конце для подтверждения инсертов? А реализацию я смотрю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 17:00 |
|
||
|
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
|
|||
|---|---|---|---|
|
#18+
У меня в процедуре записи сначала вставляются в таблицу, а потом читаются из нее, после чего над некоторыми из них в той же процедуре выполняются дополнительные действия: (Update или Delete). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 17:00 |
|
||
|
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
|
|||
|---|---|---|---|
|
#18+
Ну и ладушки, просто то, что стоит в into ля-ля-ля - вот это ля-ля-ля объяви в returns и после инсерта дай suspend ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 17:08 |
|
||
|
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
|
|||
|---|---|---|---|
|
#18+
А мне не ля-ля-ля нужно вернуть. Кстати, неправильно написал. Нужно for select ля-ля-ля from ля-ля-ля_2 where ля-ля-ля_3 into ля-ля-ля_ 4 do begin insert into table1 (ля-ля-ля_5) values (ля-ля-ля_ 6 ); end ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 17:10 |
|
||
|
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
|
|||
|---|---|---|---|
|
#18+
Опять ошибся :( Видно устал слегка... for select ля-ля-ля from ля-ля-ля_2 where ля-ля-ля_3 into ля-ля-ля_ 4 do begin insert into table1 (ля-ля-ля_5) values (ля-ля-ля_ 4 ); end ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 17:11 |
|
||
|
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
|
|||
|---|---|---|---|
|
#18+
2 Calm Так, как вы написали это точно работает. Ройте в сторону реурсии. Не налетает ли она на бесконечный цикл ? Не пытается ли модифицировать ту запись, которая уже зацеплена предыдущим вызовом ? Вобщем код в студию. А подтверждение транзакций в процедурах - это страшный сон MSSQL-истов. IB этим не болеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 17:12 |
|
||
|
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
|
|||
|---|---|---|---|
|
#18+
2 Calm values (ля-ля-ля_4); "Пусть у нас есть m танков. Нет, m мало, лучше n" ; -)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 17:15 |
|
||
|
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
|
|||
|---|---|---|---|
|
#18+
2 Седов А. Большое спасибо за советы. Похоже, что дело было в реализации выборки, а может еще в чем... В общем, все это нужно делать на свежую голову. Закоментировал все, что было, написал заново... и заработало ! А в чем был глюк не пойму :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 17:18 |
|
||
|
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
|
|||
|---|---|---|---|
|
#18+
>>2 Calm >>values (ля-ля-ля_4); >>"Пусть у нас есть m танков. Нет, m мало, лучше n" ; -)) по-моему, я вполне корректно выразился ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 17:20 |
|
||
|
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
|
|||
|---|---|---|---|
|
#18+
2 Calm а глюк был в том, что скомпилировав процедуру ХП2, нужно следом за ней компилировать процедуру ХП1. Иначе ХП1 будет пользовать старую версию ХП2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 17:22 |
|
||
|
Можно ли в одной ХП вставить записи в таблицу, а потом их оттуда прочитать?
|
|||
|---|---|---|---|
|
#18+
А вот глюк был не в этом, потому как это мне известно. Тем более, что ХП2 я не менял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2003, 17:37 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32136053&tid=1580675]: |
0ms |
get settings: |
6ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
23ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 199ms |
| total: | 332ms |

| 0 / 0 |
