SQL Server 2008 で、予想されるイベントの参加者数が会場の収容人数を超えないようにする計画とリソースの割り当てにとって重要です。この制約を強制するには、カスタム関数をチェック制約と組み合わせて使用できます。
CheckVenueCapacity という名前のカスタム関数は、@venue_id と @capacity の 2 つのパラメーターを取ります。指定された @capacity と、指定された @venue_id を持つ会場の最大収容人数を比較します。 @capacity が会場のキャパシティ以下の場合は 0 を返し、それ以外の場合は 0 を返します。それ以外の場合は 1 を返します。
CREATE FUNCTION dbo.CheckVenueCapacity (@venue_id int, @capacity int) RETURNS int AS BEGIN DECLARE @retval int SELECT @retval = CASE WHEN venue_max_capacity >= @capacity THEN 0 ELSE 1 END FROM venues WHERE venue_id = @venue_id RETURN @retval END; GO
制約を強制するには、チェック制約がイベント テーブルに追加され、各イベントの予想される出席者数 (event_expected_attendance) がイベントの会場 ID で CheckVenueCapacity 関数を満たすことを確認します。 (event_venue_id):
ALTER TABLE events ADD CONSTRAINT chkVenueCapacity CHECK (dbo.CheckVenueCapacity(event_venue_id, event_expected_attendance) = 0);
カスタム関数とチェック制約により、データベースはイベントの参加者数が会場の収容人数を超えないことを保証し、データの整合性を維持し、自信を持ってイベントの計画を促進します。
以上がSQL Server 2008 では、カスタム関数とチェック制約を使用してイベントの容量制限をどのように適用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。