Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Персонализирана функция с ограничение за проверка SQL Server 2008

Както беше посочено от Мартин Смит, използването на ограничение за проверка с UDF има някои проблеми и може да има отрицателно въздействие върху производителността, но ако все пак искате да опитате, този код трябва да работи:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразувайте „datetime“ в „datetime2“ в SQL Server (T-SQL примери)

  2. Как да изчисля текущата сума в SQL, без да използвам курсор?

  3. Схема на база данни, автоинкремент

  4. Вмъкване на GUID с SqlBulkCopy

  5. Трябва ли да използвам блок try..catch и изрично връщане назад в процедура на SQL Server?