Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
sakz Member Откуда: Сообщений: 2 |
Здравствуйте друзья! Я в SQL только начинаю программировать, хотел бы копировать данных из одно таблицы на другой. например: Tabl1 - id=int, name =nvarchar(100), date=datetime Tble2 - id=int, name =nvarchar(100), date=datetime если данных в Table2 существуют тогда проста обновить данных а если они не совпадают с Table1 тогда копируются. хотел бы написать триггер? но когда проверяю в условия , что Table2.id<>Table1.id тогда ошибка , что The multi-part identifier Table2.id" could not be bound. может кто то подскажет правильный подход , может стоит использовать "Merge" помогите пожалуйста если кому не сложно! Заранее благодарен! |
2 май 17, 12:53 [20449676] Ответить | Цитировать Сообщить модератору |
aleks2
Guest |
Шоб минимизировать износ хрустальных шаров - приведи код свово "триггера". |
2 май 17, 12:55 [20449683] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47045 |
sakz, в какой же момент должен срабытывать сей триггер? А может, и вовсе не триггер нужен? P.S. Судя по описанию, вы не читали синтаксис команд UPDATE и INSERT ![]() |
2 май 17, 12:59 [20449697] Ответить | Цитировать Сообщить модератору |
sakz Member Откуда: Сообщений: 2 |
aleks2, CREATE TRIGGER tr_CopyData ON dbo.Products_buffer AFTER INSERT,UPDATE AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for trigger here Insert into SysDB.dbo.Produsts Select * from IMPORTDB.dbo.Products_buffer WHERE SysDB.dbo.Produsts.id <> IMPORTDB.dbo.Products_buffer .id END GO |
2 май 17, 13:07 [20449740] Ответить | Цитировать Сообщить модератору |
aleksrov Member Откуда: Сообщений: 948 |
sakz, Месье знает толк в извращениях. По теме, Merge вам в помощь, подробнее go to BOL |
2 май 17, 13:13 [20449784] Ответить | Цитировать Сообщить модератору |
aleks2
Guest |
И нафига ЭТО делать в триггере? |
||
2 май 17, 13:18 [20449822] Ответить | Цитировать Сообщить модератору |
aleks2
Guest |
Insert into SysDB.dbo.Produsts Select * from IMPORTDB.dbo.Products_buffer as b WHERE not exists( select * from SysDB.dbo.Produsts as p where p.id = b.id ) |
2 май 17, 13:21 [20449845] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |