나는 임의의 값 목록을 가지고 있으며 T-SQL을 사용하여 여러 테이블에서 레코드를 삭제하려고합니다. 앞으로 다른 값 목록을 사용하여 스크립트를 다시 사용하고 싶습니다. 이것은 디버깅 목적으로 만 사용됩니다 (레코드를 지우고 새 버전의 소프트웨어로 다시 가져올 수 있기를 원합니다). 그래서 꽤 필요하지 않습니다.Sql Server 임의의 값 배열을 기반으로 여러 테이블에서 삭제하는 방법?
지금까지 내가 가진 :
DECLARE @RequestIDList table(Request_ID nvarchar(50) NOT NULL)
INSERT INTO @RequestIDList (Request_ID) VALUES
('00987172'),
('01013218'),
('01027886'),
('01029552'),
('01031476'),
('01032882'),
('01033085'),
('01034446'),
('01039261')
DELETE FROM Request WHERE Request_ID IN (SELECT Request_ID FROM @RequestIDList)
DELETE FROM RequestTest WHERE Request_ID IN (SELECT Request_ID FROM @RequestIDList)
이 작동하는 것 같다,하지만 더 좋은 방법은 무엇입니까? IN 절에 직접 변수를 사용하는 방법을 알아낼 수 없습니다 (예 : "Where Request_ID IN @RequestIDList").
이 유형의 문제에 대한 좋은 일반 템플릿. 감사 –