sql >> Databáze >  >> RDS >> Sqlserver

Vlastní funkce s kontrolním omezením SQL Server 2008

Jak uvedl Martin Smith, použití kontrolního omezení s UDF má určité problémy a může mít negativní dopad na výkon, ale pokud to přesto chcete vyzkoušet, tento kód by měl fungovat:

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. GROUP_CONCAT a INNER JOIN s klauzulí WHERE

  2. Mám použít datový typ SQL_Variant?

  3. Oprava kódování

  4. java.lang.OutofMemorySpace:Java haldový prostor při načítání 120 milionů řádků z databáze v pysparku