скопировать значения в новую таблицу и удалить значения из старой таблицы - PullRequest
0 голосов
/ 02 июня 2011
CREATE TRIGGER trigg_msg 
ON messagein 

FOR insert,delete,update AS 
IF EXISTS (SELECT * FROM INSERTED) 
BEGIN 

INSERT INTO new_message (Phone number,CusID,CusName,CusAddress) values ( SELECT ins.sender FROM inserted ins, SELECT cus.CusID FROM customer cus, SELECT cusname FROM customer cus, SELECT cus.cus_phone number FROM customer cus, SELECT cus.Address FROM customer cus) 
DELETE * FROM messagein 
END 

этот триггер не работает. Пожалуйста, кто-нибудь покажет мне ошибку ....

при вставке строки в сообщение в таблице следует скопировать значение поля отправителя и скопировать его в таблицу new_message. Затем другие значения, такие как cusID, CusName, .. должны быть получены из таблицы customer. пожалуйста, помогите мне.

Обновление:

CREATE TRIGGER trigg_msg 

ON messagein 

FOR insert

IF EXISTS (SELECT * FROM INSERTED)

BEGIN

INSERT INTO new_message(Phone_number,CusID,CusName,CusAddress) values ( SELECT ins.sender FROM inserted ins, SELECT cus.CusID, cus.cusname, cus.cus_phone_number,  cus.Address FROM customer cus)

DELETE FROM messagein 

@ Devart и @TudorConstantin Большое спасибо за помощь. наконец-то я придумала этот триггер, но все равно получаю ошибки.

1 Ответ

1 голос
/ 02 июня 2011

У вас есть хотя бы одна синтаксическая ошибка:

DELETE * FROM messagein 

Должно быть:

DELETE FROM messagein 

Кроме того, ВСТАВКА должна быть:

INSERT INTO new_message (Phone_number,CusID,CusName,CusAddress) values ( SELECT ins.sender FROM inserted ins, SELECT cus.CusID, cus.cusname, cus.cus_phone_number,  cus.Address FROM customer cus)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...