powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Зафиксировать дату изменения
4 сообщений из 4, страница 1 из 1
Зафиксировать дату изменения
    #32000275
ILYA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно зафиксировать дату изменения записи - записать ее в поле date_edit изменяемой записи. Как написать триггер?
если вопрос глупый - звиняйте, SQL7.0 только начал осваивать.
...
Рейтинг: 0 / 0
Зафиксировать дату изменения
    #32000277
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
creare trigger MyFirstCoolTrigger on mytbl on insert,update
as
update mytbl
set date_edit = GetDate()
from mytbl t, inserted i
where t.id=i.id

Поле id - это ключ по котором идентифицируются у тебя записи. Суть в том, что к записям, которые проапдейтились можно добраться с помощью встроенной таблицы inserted.
...
Рейтинг: 0 / 0
Зафиксировать дату изменения
    #32000283
ILYA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за быстрый ответ!
Я еще видел пример, там написано:

Update MyTabl SET date_edit = timestamp WHERE CURRENT OF cursor

применим ли этот пример в моем случае? как объявить этот курсор?
...
Рейтинг: 0 / 0
Зафиксировать дату изменения
    #32000284
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С курсорами я почти не работал и вообщем-то работать с ними надо в довольно специфицеских местах, когда например нужно идти по таблице в определенном порядке. Или вызывать процедуру для каждой записи. Вообщем тут подсказать не могу.
Что касается timestamp, то это некий тип поля и когда мы имеем поле этого типа, то это поле будет меняться при каждом апдейте таблицы, причем его значение уникально для всей базы. Его человеческий тип - binary(8). Присваивать дате binary - не знаю получиться ли, а если получиться - есть ли смысл? Вообщем мне этот пример не очень нравиться. Может это не для Микросовта?
Кстати у меня там в моём примере в заголовке триггера ошибка, хотя я думая ты уже заметил: надо писати не on insert,update, а for insert,update
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Зафиксировать дату изменения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]