
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
30.07.2002, 13:38:02
|
|||
|---|---|---|---|
изменение значения столбца нововставленной строки в триггере |
|||
|
#18+
подскажите, как в триггере изменить значение столбца нововставленной строки (корявое выражение, но лучше не придумывается...) поясняю задачу. есть таблица типа CREATE TABLE t( id int REFERENCES t2 (id2) name char(10) ) при вставки строки пользователем в поле [name] заносится значение, а значение [id] должно генериться автоматом, да причем в зависимости от залогиненного пользователя (т.е. создать универсальное выражение в DEFAULT нельзя). для таблицы создан триггер AFTER INSERT, в котором вычисляется значение [id]. вопрос: как мне вставить это значение id? апдейтить табличку INSERTED не получается (райзится егог), а апдейтить после инсерта мешает внешний ключ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.07.2002, 13:46:19
|
|||
|---|---|---|---|
изменение значения столбца нововставленной строки в триггере |
|||
|
#18+
А что прямо в StoredProcedure вместо триггера ето делать нельзя?? Зачем делать два действия вместо одного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.07.2002, 13:54:18
|
|||
|---|---|---|---|
изменение значения столбца нововставленной строки в триггере |
|||
|
#18+
я не пойму - если есть внешний ключ, то он должен ругануться до триггера... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.07.2002, 13:58:47
|
|||
|---|---|---|---|
|
|||
изменение значения столбца нововставленной строки в триггере |
|||
|
#18+
А можно поподробнее, что значит "в зависимости от пользователя" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.07.2002, 14:24:03
|
|||
|---|---|---|---|
|
|||
изменение значения столбца нововставленной строки в триггере |
|||
|
#18+
использовать триггер instead of, если MSSQL2000, иначе вставлять записи через ХП... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.07.2002, 14:26:13
|
|||
|---|---|---|---|
изменение значения столбца нововставленной строки в триггере |
|||
|
#18+
если скул 2000 попробуй замещающий тригер .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.07.2002, 14:42:23
|
|||
|---|---|---|---|
изменение значения столбца нововставленной строки в триггере |
|||
|
#18+
дело оказалось действительно во внешнем ключе (браво, AVL!!!) при вставке фиктивного непротиворечащего внешнему ключу значения и конструкции типа (см. ниже) всё работает!!! UPDATE t SET id= @id -- вычислено заранее в триггере FROM t t__, inserted i__ WHERE t__.key=i__.key (key - ключевое identity поле) правда, фиктивные значения - как-то это неэстетично... щас попробую замещающий триггер, вроде должно получиться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1821472]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
72ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 398ms |

| 0 / 0 |
