Я использую SQL Server 2012 для Windows7. В настоящее время у меня есть 2 таблицы.Как вставить в таблицу новые записи на основе информации из другой таблицы?
Первая таблица:
DeviceID DeviceSwVersion DeviceIPAddr
1 802 172.26.20.1
115 800 172.26.18.1
1234 264 172.26.18.3
4717 264 172.26.19.2 // <- new
14157 264 172.26.19.1 // <- new
Вторая таблица:
DeviceIPAddr Status TimeStamp (default=getdate())
172.26.20.1 1 2016-02-09 10:25:01
172.26.18.1 1 2016-02-09 10:30:12
172.26.18.3 1 2016-02-09 10:33:08
Что мне нужно, это SQL-запрос для вставки в 2-й таблицы новых строк, соответствующих новым DeviceIP
, которые в настоящее время в первая таблица. ТолькоDeviceIP
с, что еще нет во второй таблице.
Итак, наконец, вторая таблица должна выглядеть следующим образом:
DeviceIPAddr Status TimeStamp // default = getdate()
172.26.20.1 1 2016-02-09 10:25:01
172.26.18.1 1 2016-02-09 10:30:12
172.26.18.3 1 2016-02-09 10:33:08
172.26.19.2 0 2016-02-10 09:53:00
172.26.19.1 0 2016-02-10 09:53:01
Примечание: Status
столбец 0 для новых вставленных строк и TimeStamp
текущая дата-функция времени (значение по умолчанию заполняется автоматически GETDATE()).
Попробуйте использовать триггер для этого –
Я бы попытался, но я не знаю как. Я очень новичок в SQL. :(... Пожалуйста, советую. –
@groenhen, Как сказал Пареш, я думаю, что триггер '' ПОСЛЕ INSERT'' является лучшим решением. Поскольку вы новичок, мой ответ дает вам представление о вашем требуемом триггере. – mmuzahid