मेरे SQL सर्वर डेटाबेस में एक कॉन्फ़िगरेशन तालिका है और इस तालिका में केवल एक पंक्ति होनी चाहिए। भविष्य के डेवलपर्स को यह समझने में मदद करने के लिए कि मुझे एक से अधिक डेटा जोड़े जाने से रोकना है। मैंने इसके लिए ट्रिगर का उपयोग करने का विकल्प चुना है, नीचे ...
ALTER TRIGGER OnlyOneConfigRow
ON [dbo].[Configuration]
INSTEAD OF INSERT
AS
BEGIN
DECLARE @HasZeroRows BIT;
SELECT @HasZeroRows = CASE
WHEN COUNT (Id) = 0 THEN 1
ELSE 0
END
FROM
[dbo].[Configuration];
IF EXISTS(SELECT [Id] FROM inserted) AND @HasZeroRows = 0
BEGIN
RAISERROR ('You should not add more than one row into the config table. ', 16, 1)
END
END
यह कोई त्रुटि नहीं देता है लेकिन पहली पंक्ति को अंदर जाने की अनुमति नहीं देता है।
इसके अलावा एक और अधिक प्रभावी / अधिक आत्म व्याख्या करने के तरीके को पंक्तियों की संख्या को सीमित किया जा सकता है जिसे तालिका में केवल 1 में डाला जा सकता है, इससे? मैं SQL सर्वर सुविधा में किसी भी बनाया याद आ रही है?