sql >> Databasteknik >  >> RDS >> Sqlserver

Anpassad funktion med kontrollbegränsning SQL Server 2008

Som nämnts av Martin Smith har användning av en kontrollbegränsning med en UDF vissa problem och kan ha en negativ inverkan på prestandan, men om du vill prova det ändå bör den här koden fungera:

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

ALTER TABLE events 
  ADD CONSTRAINT chkVenueCapacity 
  CHECK (dbo.CheckVenueCapacity(event_venue_id, event_expected_attendance) = 0); 


  1. fyll i kryssrutor och uppdatera sedan urvalet till mysql

  2. Hur man lagrar flera alternativ valda av användaren i en tabell

  3. Spara data till PHP / Mysql med inline-redigering i CKEditor

  4. Hämta ORACLE-programmeringsobjektdefinitioner