powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Получить запись, которая была изменена последней
19 сообщений из 19, страница 1 из 1
Получить запись, которая была изменена последней
    #40046773
kikipumpa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ли возможность получить последнюю запись, которая была изменена через update?
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046783
RedBird
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kikipumpa,

Код: sql
1.
2.
3.
4.
CREATE TRIGGER dbo.TableName_Update
ON dbo.TableName
AFTER UPDATE 
AS



И ловите "последнюю" запись сколько хотите.
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046789
kikipumpa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RedBird,

и что дальше? отдельную таблицу для таких записей делать?
А в логах каких-нибудь, таблицах системных эта информация не сохраняется?
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046797
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedBird
kikipumpa,

Код: sql
1.
2.
3.
4.
CREATE TRIGGER dbo.TableName_Update
ON dbo.TableName
AFTER UPDATE 
AS



И ловите "последнюю" запись сколько хотите.



и как же? предполагается, что "последняя" - это нечто всеми понимаемое однозначно
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046799
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kikipumpa
А в логах каких-нибудь, таблицах системных эта информация не сохраняется?
Зачем? Зачем серверу сия инфа? И как серверу определять "последнюю" в неупорядоченном наборе в примерно миллион записей в последнем апдейте?
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046810
kikipumpa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizov
kikipumpa
А в логах каких-нибудь, таблицах системных эта информация не сохраняется?
Зачем? Зачем серверу сия инфа?

А зачем люди логи придумали?
Sergey Sizov

И как серверу определять "последнюю" в неупорядоченном наборе в примерно миллион записей в последнем апдейте?

По времени выполнения, например
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046812
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kikipumpa
А зачем люди логи придумали?
Чтобы эти логи засирали все доступное место, чтобы сбор логов аффектил производительность сервера и чтобы все бежали их первым делом отключать.
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046820
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kikipumpa
Sergey Sizov
пропущено...
Зачем? Зачем серверу сия инфа?

А зачем люди логи придумали?
Sergey Sizov

И как серверу определять "последнюю" в неупорядоченном наборе в примерно миллион записей в последнем апдейте?

По времени выполнения, например


обана!

это как минимум звучит красиво
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046838
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kikipumpa
Есть ли возможность получить последнюю запись, которая была изменена через update?
последняя по времени апдейта или коммита?
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046839
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
RedBird
kikipumpa,

Код: sql
1.
2.
3.
4.
CREATE TRIGGER dbo.TableName_Update
ON dbo.TableName
AFTER UPDATE 
AS




И ловите "последнюю" запись сколько хотите.



и как же? предполагается, что "последняя" - это нечто всеми понимаемое однозначно
как вариант - посмотреть в сторону rowversion
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046872
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kikipumpa,

UPDATE - это операция над математическим множеством, у множеств не бывает ни первой, ни последней записи. Это мешок с картошкой.
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046955
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
kikipumpa,

UPDATE - это операция над математическим множеством, у множеств не бывает ни первой, ни последней записи. Это мешок с картошкой.
инсерт тоже
Но идшник у каждого свой
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046956
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
kikipumpa,

UPDATE - это операция над математическим множеством, у множеств не бывает ни первой, ни последней записи. Это мешок с картошкой.
Типа того. Но rowversion бы каждую картофелину пометил.
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046960
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,

Да, но основывать на этом разработку - лукавство и попытки обойти реляционные законы, играя на особенностях механики сервера. Искушения надо преодолевать :)
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046961
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Гавриленко Сергей Алексеевич,

Да, но основывать на этом разработку - лукавство и попытки обойти реляционные законы, играя на особенностях механики сервера. Искушения надо преодолевать :)
С точки зрения логики -- спорно. С точки зрения физики -- шикарно для всевозможных репликаций, логических моделей блокировок и т.п.
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046980
LexusR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kikipumpa,
CDC
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046989
kikipumpa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreymx
kikipumpa
Есть ли возможность получить последнюю запись, которая была изменена через update?
последняя по времени апдейта или коммита?

Можно рассмотреть оба варианта
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40046998
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мороз крепчал...
... все соскучились по живому общению ...

Самый простой вариант,- если надо отслеживать изменения строк в какой-то определённой таблице:
1. Создаётся таблица, похожая на исходную, с дополнительными полями (RowId - bigint identity(1,1) и RowTime - datetime default getdate() )
2. На интересующую Вас таблицу "вешается" триггер (или несколько,- в зависимости от того, ЧТО именно интересует) - after INSERT|DELETE|UPDATE , который в таблицу-журнал записывает значение полей из служебных таблиц inserted и deleted (они есть в триггерах)

НО , прежде чем всё это делать чётко поймите - ЧТО Вам нужно и ЗАЧЕМ, так как наличие такого журналирования - это просто и очевидно, но может дать очень сильный проигрыш в производительности. На объём базы с журналом сейчас в общем-то всем начхать ;)

PS Триггера на SELECT нет, есличо....
PPS Кстати, коллеги, а почему до сих пор не изобрели триггер на Select ? Мы же можем повесить эвент на доступ к объекту. И понять, что это был select. И связать с id-шником, логином, юзером...
...
Рейтинг: 0 / 0
Получить запись, которая была изменена последней
    #40047027
kikipumpa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreymx
как вариант - посмотреть в сторону rowversion

В процессе гугления rowversion открыл для себя функцию CHANGETABLE - выдает и id записи, и операцию
И из sys.dm_tran_commit_table можно время коммита получить.
Только не разобрался, почему SYS_CHANGE_COLUMNS выдает null, но это уже не обязательно
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Получить запись, которая была изменена последней
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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