2011-01-11 2 views
0

У меня возникла ситуация, когда мне нужно узнать самую последнюю запись, написанную в таблице, но человек, который разработал базу данных, создал таблицу без DateTime или поле с автоматическим увеличением.Access DateTime строки, записанной в таблицу, если нет поля DateTime в таблице - SQL Server 2008

мне интересно, есть ли способ получить доступ к некоторым встроенным в DateTime proprty записанный SQL Server или любым другим способом определения более позднюю запись из говорят два результата, как это:

idp_fund_id IDPID 
14    1653 
18    1653 

Ниже структура

CREATE TABLE [dbo].[web_IDP_Lifestyle](
[idp_fund_id] [int] NOT NULL, 
[IDPID] [int] NOT NULL, 
CONSTRAINT [PK_web_IDP_Lifestyle] PRIMARY KEY CLUSTERED 
(
[idp_fund_id] ASC, 
[IDPID] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

ответ

3

Вкратце: нет.

Возможно, вы сможете сравнить наличие этих значений в резервных копиях ... в зависимости от того, насколько удалены резервные копии.

Я предполагаю, что idp_fund_id из 18 может был записан до значения 14?

+0

Хм, это на самом деле не сделало бы .. Достаточно честно, спасибо. – TGuimond

+0

Я провел еще несколько тестов, и результаты возвращаются по idp_fund_id по возрастанию, так что радости нет. Не волнуйтесь, я разобью плохие новости! – TGuimond

2

Nope.

SQL Server не ведет подробные записи об этом. Если он DID, подумайте о том, насколько большими будут метаданные, чтобы отслеживать время обновления/вставки для каждой записи в каждой таблице.

SQL не заказывает вставки по умолчанию, и я не думаю, что вы можете проверить, на какой странице он был вставлен, чтобы определить это с любой надежностью.

Если вы хотите отслеживать что-то вроде этого, вам нужно создать поле/таблицу для его отслеживания и реализовать некоторые триггеры.