|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
fedormooreУ меня есть два варианта вставки данных, 1 - когда я знаю id master и могу его вставить в datail 2 - когда я не знаю id master, но мне нужно его узнать для того чтобы вставить в datail.И в чем именно затруднение? В получении id, которого не знаешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 09:52 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
fedormoore, вот это будет работать только если коннект всего один. Если в базе кто-то ещё делает вставки записей помимо вашего единственного скрипта, то способ не годится. Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 09:52 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
fedormooreПРОСТИТЕ НАКИПЕЛО...Это не мы такие... Как говорится - "Правильно поставленный вопрос - половина ответа". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 09:55 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
rdb_dev, да, не знаю как получить. Пробовал использовать execute block (есть возможность объявить переменную далее после вставки данных вернуть id master, присвоит переменной, использовать значение переменной для вставки в datail) но столкнулся с ограничениями ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 10:10 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
Симонов Денис, спасибо за совет, но про это я тоже читал, что при многопользовательском режиме будет косяк ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 10:12 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
fedormooreне вижу я связи как мне это может помочь сохранить ссылочную целостность.Транзакция - это вообще единственная вещь, которая может сохранить ссылочную целостность. Подсказка - в скрипте IBExpert выключи автокоммит после каждого statement, выключи продолжение выполнения скрипта после ошибки. И "не бзди". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 10:13 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
WildSery, выключил, как теперь получить id master? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 10:18 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
fedormoore, вот тебе ещё рецепт Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
gtt должна быть по структуре аналогична detail и иметь тип ON COMMIT DELETE ROWS. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 10:21 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
Применить GUID для ID или выделить непересекающиеся диапазоны? Коль уж хочется всенепременнейше скриптом, а не куском программы, где можно передать параметром вновь сгенерированный id. Честно я пока не вижу никаких затруднений, "нафтыкать" в базу в одной транзакции тыщонку-другую записей, да тьфу, размазать и забыть. Видимо поэтому и "накипело". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 10:37 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
fedormoorerdb_dev, да, не знаю как получить.Я, конечно, не экстрасенс, но могу предположить, что ты пытаешься сделать нечто вроде импорта/экспорта данных из одной базы в другую с определением соответствия по UID. Нет ничего проще! Создаешь две временные таблицы с временем жизни строк в пределах транзакции (к примеру master_import и detail_import), в которые ты будешь накидывать строки импорта без изменений. В двух вложенных циклах FOR SELECT INTO DO хранимой процедуры крутишь эти данные временных таблиц. Во внешнем цикле делаешь добавление в таблицу master с получением нового ID, во вложенном цикле делаешь добавление в detail с полученным из master идентификатором. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 10:39 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
fedormoore, ну тогда пишешь скрипт что типа такого: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 11:11 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
MikeDD, кстати нормальный вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 11:12 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
fedormooreстолкнулся с ограничениями А тебе так критично эту операцию оформлять именно как скрипт?.. Используй контекстные переменные. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 11:57 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Контекстные, они какбе, и в скрипте никуда не деваются. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 12:15 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
WildSeryКонтекстные, они какбе, и в скрипте никуда не деваются. Они как бэ только в скрипте и имеют смысл. В остальных случаях - руки отрывать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 12:29 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Многие расстроятся. Таблоид, например. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 12:59 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
WildSeryТаблоид, например. Почему? Он же как раз исключительно скриптами всё и делает. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 13:03 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
Hello, Wildsery! You wrote on 14 октября 2016 г. 13:03:07: Wildsery> Многие расстроятся. Таблоид, например. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 13:04 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovПочему? Он же как раз исключительно скриптами всё и делает.Я не знаю, как он на самом деле делает, но сюда выложено множество советов и решений, использующих контекстные переменные ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 15:45 |
|
одновременная вставка данных в master и detail
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovОни как бэ только в скрипте и имеют смысл. В остальных случаях - руки отрывать. А почему только в скриптах? Почему не стоит, например, в процедурах? Вроде здорово - такая видимая всем объектам глобальная переменная. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 15:49 |
|
|
start [/forum/topic.php?fid=40&msg=39326849&tid=1561919]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 266ms |
total: | 423ms |
0 / 0 |