|
|
|
set new в After Insert триггера
|
|||
|---|---|---|---|
|
#18+
Добрый день! Озадачился таким вопросом. Мне надо получить после вставки некое значение, привязанное к полю с автоинкрементом. Код: sql 1. 2. 3. 4. Выдает ошибку "Updating of NEW row is not allowed in after trigger" В before триггера такая конструкция работает, но test_id еще не получен, и как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2014, 11:31:24 |
|
||
|
set new в After Insert триггера
|
|||
|---|---|---|---|
|
#18+
miv32, Именно получить - как и написано, в триггере After Insert. А вот присвоить в new.поле - никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2014, 13:09:08 |
|
||
|
set new в After Insert триггера
|
|||
|---|---|---|---|
|
#18+
а какой практический смысл в том, чтобы другое поле было равно константа + айди? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2014, 13:49:53 |
|
||
|
set new в After Insert триггера
|
|||
|---|---|---|---|
|
#18+
alex564657498765453а какой практический смысл в том, чтобы другое поле было равно константа + айди?Например, принятый в организации формат нумерации документов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2014, 14:33:58 |
|
||
|
set new в After Insert триггера
|
|||
|---|---|---|---|
|
#18+
Именно! :) miksoft как всегда прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2014, 15:28:41 |
|
||
|
set new в After Insert триггера
|
|||
|---|---|---|---|
|
#18+
miv32Именно! :) miksoft как всегда прав. не неугадали оба... у меня на фре лежат файлы - документы, и называны по номеру самого документа А123Р скажем... но мне в голову не пришло брать вкачестве числа между буквами инод файла(аналог примарикея в базе) ЗЫ если миксофт так щитает,возми снего слово, что когда надо будет добавить новые типы документов, каждый со своей независимой нумерацией а в текущую архитектуру ты это никак не воткнёшь - то он тебе сам будет делать новые таблицы на каждый тип и писать многотабличный поиск по документам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2014, 19:11:37 |
|
||
|
set new в After Insert триггера
|
|||
|---|---|---|---|
|
#18+
alex564657498765453новые типы документовА кто сказал, что будут другие типы документов? Например, заказы на условном сайте вполне могут нумероваться чем-то вида "ИМ-1235/2014". А цифры 12345 вполне могут быть первичным ключом или последними пятью цифрами из него. А суффикс /2014 может меняться от года к году. И на этом условном сайте совершенно нет необходимости пихать еще какие-то документы в таблицу заказов. alex564657498765453брать вкачестве числа между буквами инод файла(аналог примарикея в базе)Инод файла не является полным аналогом первичного ключа. Как минимум, иноды могут выдаваться не по порядку. И, если не ошибаюсь, могут быть неуникальны. alex564657498765453не неугадали оба...Я, кстати, не гадал. Информация из практики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2014, 19:25:50 |
|
||
|
set new в After Insert триггера
|
|||
|---|---|---|---|
|
#18+
miksoftalex564657498765453новые типы документовА кто сказал, что будут другие типы документов? Например, заказы на условном сайте вполне могут нумероваться чем-то вида "ИМ-1235/2014". А цифры 12345 вполне могут быть первичным ключом или последними пятью цифрами из него. А суффикс /2014 может меняться от года к году. И на этом условном сайте совершенно нет необходимости пихать еще какие-то документы в таблицу заказов. alex564657498765453брать вкачестве числа между буквами инод файла(аналог примарикея в базе)Инод файла не является полным аналогом первичного ключа. Как минимум, иноды могут выдаваться не по порядку. И, если не ошибаюсь, могут быть неуникальны. alex564657498765453не неугадали оба...Я, кстати, не гадал. Информация из практики. инод таки уникальный, и примарикеи тоже могут выдаваться не по порядку. полная аналогия - системный идентификатор, который уникальный для определёного времени, но в процесе работы может меняться со временем... да понятно что можно... любые данные вносимые в базу можно преобразовать в уникальный значение, и использовать это вкачестве примари кея - но зачем? если есть общее правило которое работает всегда - на примари кея не ложить никакой другой логики, кроме как идентификатор для записи в базе. ибо рано или позно, понадобиться разделить. ЗЫ это полный аналог почему щитаеться правильной архитектурой - когда в функции(методы) не пишут кучу кода...как бы не казалось что сегодня не разделимо, завтра может понадобиться разделить или параметризировать работу на определёном шаге. все можно делать - лишь бы работало. но не нужно абы ставить вкачестве ориентира! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2014, 22:26:09 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38795184&tid=1833984]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 346ms |

| 0 / 0 |
