2017-03-25 2 views
0

FeeDueDateが3週間を超えるレコードを削除しようとしていますが、これを実装する方法がわかりません。問題は、結合構文と思われる。DELETEを使用してストアドプロシージャを結合する

CREATE PROC spAreFeesOverDue 
    AS 
    Delete 
    FROM Assignment.dbo.PupilDetails PDetails 
    join Assignment.dbo.TuitionFees Fees 
    ON PDetails.Pupil_ID = Fees.Pupil_ID 
    WHERE FeeDueDate < dateadd(WEEK, -3, getdate()); 
+1

の可能性のある重複(http://stackoverflow.com/questions/16481379/ [INNERは、SQL ServerとのJOINを使用して削除する方法?] SQL Serverを使用した内部結合を使用した削除方法) – Igor

答えて

0

このクエリを試してください:たとえば -

CREATE PROC spAreFeesOverDue 
    AS 
    BEGIN 
     DELETE 
     FROM Assignment.dbo.PupilDetails PDetails 
     join Assignment.dbo.TuitionFees Fees 
     ON PDetails.Pupil_ID = Fees.Pupil_ID 
     WHERE FeeDueDate < dateadd(WEEK, -3, getdate()) 
    END; 
0

削除するテーブルを指定する必要があります。

DELETE Fees 
    FROM Assignment.dbo.PupilDetails PDetails JOIN 
     Assignment.dbo.TuitionFees Fees 
     ON PDetails.Pupil_ID = Fees.Pupil_ID 
    WHERE FeeDueDate < dateadd(WEEK, -3, getdate()); 
関連する問題