Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Update связанных таблиц
|
|||
|---|---|---|---|
|
#18+
Вот вопрос возник: Есть таблица t1( t1_id long, - (PK) t1_data[неважно]) и таблица t2( t2_id long, (PK) t1_id long, (FK к первой таблице) t2_data[неважно]) В обоих таблицах есть данные, любой строке из первой таблицы соответствует 1 или больше строк из второй. Задача: сместить диапазон t1_id - т.е. если сейчас начинается от 1 и id идут вверх, то теперь надо сделать так, чтобы все строки получили t1_id = t1_idстарый + 1000. Пример: было t1: 1, qweqw 2, erwrrew 3, fgdfgd t2: 1, 2, kjlkjl 2, 2, nbmnb 3, 3, lklk 4, 1, jjjjjj Должно стать: t1: 1001, qweqw 1002, erwrrew 1003, fgdfgd t2: 1, 1002, kjlkjl 2, 1002, nbmnb 3, 1003, lklk 4, 1001, jjjjjj А вот теперь если я сначала пытаюсь изменить и проапдейтить строки первой таблицы - то мне сервак не дает этого сделать, т.к. нарушится целостность. Если я сначала пытаюсь проапдейтить строки 2й таблицы - опять тоже, по той же причине. В пределах одной транзакции сделать не получается, ругаться начинает прямо после певрого апдейта, еще не успев дойти до второго. Я в итоге сделал так: ввел временные строки, перевел на них вторую таблицу, затем проапдейтил первую (id+1000), а потом уже с временных строк вернул на проапдейченные. А как можно было сделать красивее\правильнее? PowerBuilder8 +ASA7 Правда у меня тут сомнения закрались, может это вообще типовая штука, а я просто туплю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 19:24 |
|
||
|
Update связанных таблиц
|
|||
|---|---|---|---|
|
#18+
__Yorik__ wrote: > Правда у меня тут сомнения закрались, может это вообще типовая штука, а > я просто туплю? По-моему, таки тупишь . См. ON UPDATE CASCADE. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 19:33 |
|
||
|
Update связанных таблиц
|
|||
|---|---|---|---|
|
#18+
.... фак, мля.. :) А если не править REFERENCE? А то у меня в базе этого нет, а специально вводить, а потом убирать - не хочется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 19:50 |
|
||
|
Update связанных таблиц
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. а потом drop... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 19:54 |
|
||
|
Update связанных таблиц
|
|||
|---|---|---|---|
|
#18+
__Yorik__ wrote: > А если не править REFERENCE? > А то у меня в базе этого нет, а специально вводить, а потом убирать - не > хочется. Отсюда помедленнее, пожалуйста ;). Насколько я понял, у тебя с T2 на T1 ссылается Foreign key, объявленный ON UPDATE RESTRICT, который и не даёт апдейтить t1_id. Я всего лишь предложил переделать этот FK в ON UPDATE CASCADE (переткнуть 1 радиобатон в Централе). Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 19:58 |
|
||
|
Update связанных таблиц
|
|||
|---|---|---|---|
|
#18+
Спасиб, а еще способы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 20:10 |
|
||
|
Update связанных таблиц
|
|||
|---|---|---|---|
|
#18+
__Yorik__ wrote: > Спасиб, а еще способы? А надо ;)? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 20:58 |
|
||
|
Update связанных таблиц
|
|||
|---|---|---|---|
|
#18+
...спортивный интерес :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2005, 12:03 |
|
||
|
Update связанных таблиц
|
|||
|---|---|---|---|
|
#18+
Вообще-то , изменять значение первичного ключа таблицы - это "дурной тон" в реляционных базах данных. Если это поле нужно менять, сделайте первичным ключём другое поле, и меняйте это на здоровье. Что же до административных разовых действий - дропните констрейнт, поменяйте данные, создайте констрейнт заново. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2005, 13:32 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=33232737&tid=2013442]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 358ms |

| 0 / 0 |
