Mencipta Fungsi Tersuai dengan Kekangan Semak dalam SQL Server 2008
Apabila bekerja dengan pangkalan data SQL Server, mengekalkan integriti data adalah penting. Semak kekangan menyediakan mekanisme yang berharga untuk memastikan data yang dimasukkan ke dalam jadual mematuhi peraturan yang ditetapkan. Dalam konteks ini, timbul keperluan untuk mencipta fungsi tersuai yang mengesahkan hubungan antara dua jadual menggunakan kekangan semak.
Secara khusus, dalam kes ini, matlamatnya adalah untuk mewujudkan kekangan semakan pada lajur event_expected_attendance dalam jadual acara, memastikan ia tidak melebihi integer venue_max_capacity dalam jadual venue. Untuk mencapai ini, fungsi tersuai mesti ditakrifkan dan dirujuk dalam kekangan semakan.
Mencipta Fungsi Tersuai
Fungsi tersuai, dinamakan CheckVenueCapacity, menyemak sama ada yang disediakan nilai kapasiti adalah kurang daripada atau sama dengan venue_max_capacity untuk venue_id yang diberikan. Berikut ialah kod untuk fungsi:
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;
Fungsi ini mengembalikan 0 jika kapasiti sah dan 1 jika ia melebihi kapasiti maksimum tempat.
Menambah Kekangan Semak
Setelah fungsi tersuai ditakrifkan, kami boleh menambah kekangan semak pada acara jadual:
ALTER TABLE events ADD CONSTRAINT chkVenueCapacity CHECK (dbo.CheckVenueCapacity(event_venue_id, event_expected_attendance) = 0);
Kekangan ini memastikan bahawa sebarang sisipan data ke dalam lajur event_expected_attendance disahkan oleh fungsi CheckVenueCapacity, menghalang nilai yang akan melanggar kapasiti maksimum tempat.
Atas ialah kandungan terperinci Cara Membuat Kekangan Semak Pelayan SQL Menggunakan Fungsi Tersuai untuk Mengesahkan Data Merentasi Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!