|
|
|
Неизменяемый столбец
|
|||
|---|---|---|---|
|
#18+
Хочу сделать, чтобы значения столбца можно было бы задавать только при создании новой записи и нельзя было бы изменять их у созданных записей. Желательно без использования свойства identity, т. к. значения могут быть символьными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2001, 07:03 |
|
||
|
Неизменяемый столбец
|
|||
|---|---|---|---|
|
#18+
create trigger tu_YourTable on YourTable for update as begin declare @numrows int, @numnull int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount if @numrows = 0 return /* Non modifiable column "MiddleName" cannot be modified */ if update(YourColumn) if exists (select 1 from inserted i, deleted d where i.YourColumn != d.YourColumn) begin select @errno = 30001, @errmsg = 'Non modifiable column "YourColumn" cannot be modified.' goto error end return /* Errors handling */ error: raiserror @errno @errmsg rollback transaction end ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2001, 07:31 |
|
||
|
Неизменяемый столбец
|
|||
|---|---|---|---|
|
#18+
Оппа, Power Designer генерит триггер с ошибкой, а я раньше этого не замечал Код if update(YourColumn) if exists (select 1 from inserted i, deleted d where i.YourColumn != d.YourColumn) надо заменить на if update(YourColumn) if exists (select 1 from inserted i, deleted d where i.ID = d.ID and i.YourColumn != d.YourColumn) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2001, 07:36 |
|
||
|
Неизменяемый столбец
|
|||
|---|---|---|---|
|
#18+
А если просто права на поле выставить? INSERT+SELECT разрешить, UPDATE - запретить. На поле права выставить нельзя из EM. Только через заапросы GRANT...COLUMN... и REVOKE...COLUMN... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2001, 07:51 |
|
||
|
|

start [/forum/search_topic.php?author=Anton1569&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
4ms |
get forum list: |
17ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 449ms |
| total: | 599ms |

| 0 / 0 |
