Как я могу выбрать все записи, которые были введены / обновлены одновременно в нескольких таблицах в SQL Server? - PullRequest
0 голосов
/ 07 мая 2009

есть кто-то, кто может помочь мне выбрать несколько записей, которые были введены / обновлены в разных таблицах одновременно в базе данных SQL Server. Как вы думаете, это возможно или нет?

Ваша помощь высоко ценится, спасибо!

Ответы [ 4 ]

1 голос
/ 07 мая 2009

Есть ли в вашей таблице столбец с датой / отметкой времени типа DATETIME ??

В противном случае вам, вероятно, не повезет ....

Марк

0 голосов
/ 07 мая 2009

Если столбцы DATETIME имеют одинаковые имена, вы можете сгенерировать запросы, например

select
    'select * from '
        + t.name 
        + ' where UpdateDate = ''2009-05-01''' as SelectStatement
from sys.tables as t

Или, если имя столбца DATETIME не является статическим, вы можете сделать что-то вроде этого:

select
    'select * from ' + t.name 
        + ' where ' + c.name + ' = ''2009-05-01''' as SelectStatement
from sys.tables as t join sys.columns as c on t.object_id=c.object_id
where c.system_type_id = (select system_type_id from sys.types where name = 'datetime')
0 голосов
/ 07 мая 2009

если вы находитесь внутри триггера вставки, вы можете запросить псевдотаблица inserted.

0 голосов
/ 07 мая 2009

Хм ... это может быть что-то простое, как

SELECT   * 
FROM     MyTable 
WHERE    CreatedDate = 'the date you are interested in'

или

SELECT   * 
FROM     MyTable 
GROUP BY CreatedDate
HAVING   COUNT(*) > 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...