MS SQLサーバーでトリガーを作成しようとしていますが、「オペランドタイプのクラッシュ:日付がintと互換性がありません。私はエラーが私のPRINTステートメントから来ていると思うが、私はこの問題をいかに克服するかを知るためにSQLで十分な精通ではない。オペランドタイプのクラッシュ:日付がPRINTステートメントの変数とintと互換性がありません
ALTER TRIGGER utrInsteadUpdateTblMembership
ON tblMembership INSTEAD OF UPDATE
AS
BEGIN
DECLARE @newPayDate date, @prevPayDate Date, @prevMemberNumber int
Select @newPayDate = MembershipFeePaidDate FROM inserted
Select @prevPayDate = MembershipFeePaidDate FROM deleted
Select @prevMemberNumber = MembershipID FROM deleted
IF @prevPayDate IS NOT NULL AND @prevPayDate > @newPayDate
BEGIN
UPDATE tblMembership
SET MembershipFeePaidDate = @newPayDate
WHERE @prevMemberNumber = MembershipID
UPDATE tblMembership
SET isCurrentMember = 1
WHERE @prevMemberNumber = MembershipID
PRINT 'Membership Number ' + @prevMemberNumber + ':' + ' payment date is ' + @newPayDate + ';' + ' prior payment date is ' + @prevPayDate
END
ELSE
BEGIN
PRINT 'Membership Number ' + @prevMemberNumber + ':' + ' new payment date ' + @newPayDate + ' is earlier than prior payment date ' + @newPayDate +';' + 'No change made'
END
END
なぜトリガでprint文を出力しますか?これは開発とデバッグには有効ですが、このコードを公開する前に削除する必要があります。 –