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

start [/forum/topic.php?fid=46&msg=32039639&tid=1821472]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 204ms |
| total: | 358ms |

| 0 / 0 |
