任意の値のリストがあり、T-SQL を使用して複数のテーブルのレコードを削除したいと考えています。今後、さまざまな値のリストを使用してスクリプトを再利用したいと考えています。これはデバッグのみを目的としているため (新しいバージョンのソフトウェアで再インポートできるようにレコードを消去したいだけです)、きれいである必要はありません。
これまでのところ、私は持っています:
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")。