삭제하기 전에 mssql 서버에서 작업하고 있습니다.하지만 삭제하기 전에 다른 테이블을 업데이트하는 것이 좋습니다. "user_id"열로 연결된 두 개의 테이블이 있고 내 테이블 이름은 "UserInfo"및 "AdvertInfo"이며 user_id 열과 연결되어 있습니다. 7 일 후 giving_advert_day를 삭제합니다. 그러나 삭제되면, ı는 (+1) user_advert_number 열을 증가시키고 자합니다. user_id에서 삭제하거나 테이블에서 3 또는 4 등의 데이터를 삭제 한 경우 연결된 데이터는 +3, +4 또는 에칭됩니다. 이 방법이 있습니까?mssql에서 같은 시간에 삭제 및 업데이트
이Delete
from AdvertInfo
where advert_begin_date < DATEADD(day, -7, GETDATE()))
필요가 없습니다 :
이UPDATE u
SET u.user_advert_number = u.user_advert_number + 1
FROM UserInfo as u
INNER JOIN AdvertInfo AS a ON u.user_id = a.user_id
WHERE a.advert_begin_date < DATEADD(day, -7, GETDATE()))
BTW, 당신의 삭제 절은 다음과 같이 쓸 수있다 : 여기 내 삭제 명령
Delete from AdvertInfo where advert_id In (
select advert_id from AdvertInfo
where advert_begin_date < DATEADD(day, -7, GETDATE()))
트리거를 보았습니까? –
이 테이블의 트리거를 사용하여 업데이트 후에 자동으로 삭제할 수 있습니다. –
ı couldnt 할 수있는 방아쇠에 대한 정보가 없습니다. – KAYA