मुझे किसी मौजूदा SQL सर्वर तालिका में बाधा जोड़ने की आवश्यकता है, लेकिन केवल तभी यदि यह पहले से मौजूद नहीं है।SQL सर्वर: मैं किसी मौजूदा तालिका में बाधा कैसे जोड़ूं लेकिन केवल तभी बाधा मौजूद नहीं है?
मैं निम्नलिखित SQL का उपयोग कर बाधा उत्पन्न कर रहा हूं।
ALTER TABLE [Foo] ADD CONSTRAINT [FK_Foo_Bar] FOREIGN KEY ([BarId]) REFERENCES [Bar] ([BarId]) ON UPDATE CASCADE ON DELETE CASCADE
मैं मैं एसक्यूएल बाधा के अस्तित्व के लिए परीक्षण करने के लिए की शुरुआत करने के लिए कुछ एसक्यूएल जोड़ सकते हैं आशा करती हूं कि लेकिन मैं पता नहीं कैसे कर सकते है। एक यह है कि वहाँ कोई रास्ता अलग
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[MyFKName]') AND OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE dbo.MyTableName DROP CONSTRAINT MyFKName
GO
ALTER TABLE dbo.MyTableName ADD CONSTRAINT [MyFKName] ...
dbo.sysobjects को भविष्य के संस्करण में हटा दिया जाएगा। एसक्यूएल 2005 के लिए और इसके बजाय sys.objects का उपयोग करें। – mrdenny