|
|
|
Проблема с триггером ...
|
|||
|---|---|---|---|
|
#18+
При добавлении записей в таблицу DOPSTR у меня срабатывает это триггер! CREATE TRIGGER TRIGG_DOPSTR FOR DOPSTR ACTIVE AFTER INSERT POSITION 0 AS begin update Dopstr set Dopstr.id_dopstr = gen_id(gen_dopstr_id,1) where dopstr.id_dopstr is null; end По умолчанию поле ID_DOPSTR содержит null! (т.е. разрешены пустые значения) Но почему-то при добавлении очередной записи меняются номера у всех записей, которые получили значение поля ID_DOPSTR из данного триггера! Например: было 3 записи с значениями в поле ID_DOPSTR 1,2,3 соответственно! При добавлении 4 записи они будут иметь след. значения в поле ID_DOPSTR: 4,5,6,7 ? В чем проблема и как её решить? Ведь цель иметь поле с уникальными значениями! Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 15:03:17 |
|
||
|
Проблема с триггером ...
|
|||
|---|---|---|---|
|
#18+
/topic/105246#790756 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 15:05:49 |
|
||
|
Проблема с триггером ...
|
|||
|---|---|---|---|
|
#18+
Изменив триггер на BEFORE INSERT и используя NEW у меня попрежнему при добавлении новой записи все старые записи меняют значение поля ID_DOPSTR ? (пример см. выше) Проблема осталась! 1,2,3 --> 4,5,6,7 Что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 16:00:21 |
|
||
|
Проблема с триггером ...
|
|||
|---|---|---|---|
|
#18+
как теперь выглядит триггер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 16:01:34 |
|
||
|
Проблема с триггером ...
|
|||
|---|---|---|---|
|
#18+
Я пробовал: Код: plaintext 1. 2. 3. 4. 5. 6. Затем попробовал так: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 16:18:17 |
|
||
|
Проблема с триггером ...
|
|||
|---|---|---|---|
|
#18+
очень странно! покажите запрос, которым приложение вставляет новую строку. может, апдейт там где-то был ранее засунут. ничего умнее придумать не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 16:23:30 |
|
||
|
Проблема с триггером ...
|
|||
|---|---|---|---|
|
#18+
или триггер на эту таблицу еще один есть (например, остался старый after insert) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 16:24:20 |
|
||
|
Проблема с триггером ...
|
|||
|---|---|---|---|
|
#18+
Да в том то и дело что я не знаю как программа вставляет данные в таблицу, я знаю только структуру данных и имею к ней доступ! Поэтому я и хотел средствами СУБД Interbase добавить уникальное поле в таблицу и его заполнять независимо от программы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 16:37:33 |
|
||
|
Проблема с триггером ...
|
|||
|---|---|---|---|
|
#18+
старый триггер не остался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 16:48:11 |
|
||
|
Проблема с триггером ...
|
|||
|---|---|---|---|
|
#18+
Старый триггер не остался! Я проверил у меня почему-то триггер вызывается столько раз сколько записей я вставил (до этого момента) с его использованием! Почему так много раз? Может попробовать сделать поле NOT NULL и давать в него какое-то по умолчанию значение а затем его менять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 17:19:18 |
|
||
|
Проблема с триггером ...
|
|||
|---|---|---|---|
|
#18+
мистика. а если вообще триггера нет что происходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 17:29:51 |
|
||
|
Проблема с триггером ...
|
|||
|---|---|---|---|
|
#18+
Я удалил триггер и у меня теперь при добавлении новой записи все старые обновились на значение по умолчания, а уменя это 0! Действительно мистика, вроде других триггеров нету ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 17:49:27 |
|
||
|
Проблема с триггером ...
|
|||
|---|---|---|---|
|
#18+
1) надо точно убедиться, что других триггеров нету. 2) надо как-нибудь выковырять запрос, коорый программа посылает серверу. может, местные гуры подскажут, как (trace odbc calls какой-нибудь). 3) можно посмотреть какие есть хранимые процедуры, не через процедуры ли осуществляется вставка. если их слишком много, то по названию попытаться определить. и посмотреть, как процедура написана. мистика, ужасы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 17:56:12 |
|
||
|
Проблема с триггером ...
|
|||
|---|---|---|---|
|
#18+
Читать, читать, читать... Потому как для участников форума, твои "открытия" выглядят столь же неожиданными как утверждение о том, что в Китае живут китайцы, или, что земля-то круглая, оказывается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 17:57:27 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=463&tid=1578308]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 357ms |

| 0 / 0 |
