-2
テーブルAの列「日付」、テーブルBの「開始日」および「締め切り」の列があります。 "Date "表A(「開始日」と「締切日」の間)? 私はSQL Server 2014を使用しています。 あなたのおかげでありがとう:D2つのテーブルから値をチェックする制約を追加する方法
テーブルAの列「日付」、テーブルBの「開始日」および「締め切り」の列があります。 "Date "表A(「開始日」と「締切日」の間)? 私はSQL Server 2014を使用しています。 あなたのおかげでありがとう:D2つのテーブルから値をチェックする制約を追加する方法
トリガーは最後のオプションとしてのみ使用してください。この場合、チェック制約を使う方が好きです。まず、tableBの渡された日付の値をチェックして0または1を返す関数を作成します。
ALTER FUNCTION [dbo].[checkDate]
(@dt datetime)
RETURNS bit
AS
BEGIN
IF EXISTS
(
SELECT *
FROM TableB
WHERE checkDate is between [Starting Date] and [Deadline]
)
RETURN 1
RETURN 0
END
そして、TableAのチェックconstaint多分
ALTER TABLE [dbo].[TableA]
WITH NOCHECK ADD CHECK (([dbo].[checkDate]([Date1])=(0)))
トリガーにこの機能を追加しますか? – GurV
あなたはそれを説明できますか?D –
'before update or insert'トリガを作成し、内容を確認します。有効でない場合は、RAISERRORを使用してエラーを発生させてください – GurV