Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Chức năng tùy chỉnh với ràng buộc kiểm tra SQL Server 2008

Như đã nêu bởi Martin Smith, việc sử dụng ràng buộc kiểm tra với UDF có một số vấn đề và có thể có tác động tiêu cực đến hiệu suất, nhưng nếu bạn muốn thử thì mã này sẽ hoạt động:

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. Cơ sở dữ liệu .NET gọi chậm khi sử dụng COM Interop, nhanh qua trình phân tích truy vấn

  2. Xác định kích thước hàng cho bảng

  3. Xóa các bản sao khỏi tập dữ liệu lớn (> 100Mio hàng)

  4. C # Tương đương của Kiểu dữ liệu Máy chủ SQL

  5. Làm thế nào để so sánh dữ liệu giữa hai bảng trong các cơ sở dữ liệu khác nhau bằng Sql Server 2008?