मैं एक मूल डेटाबेस ट्रिगर बनाने की कोशिश कर रहा हूं जो डेटाबेस 2.table1 से पंक्तियों को सशर्त रूप से हटा देता है जब डेटाबेस 2.table2 से एक पंक्ति हटा दी जाती है। मैं ट्रिगर्स के लिए नया हूं और इसे पूरा करने का सबसे अच्छा तरीका सीखने की उम्मीद कर रहा था। अभी तक मेरे पास इतना ही है। सुझाव?SQL सर्वर ऑन डिलीट ट्रिगर
CREATE TRIGGER sampleTrigger
ON database1.dbo.table1
FOR DELETE
AS
IF EXISTS (SELECT foo
FROM database2.dbo.table2
WHERE id = deleted.id
AND bar = 4)
-- If there is a row that exists in database2.dbo.table2
-- matching the id of the deleted row and bar=4, delete
-- it as well.
-- DELETE STATEMENT?
GO
आप की जरूरत है इस बात को ध्यान में रखना कि ट्रिगर को ** ** प्रति स्टेटमेंट ** (और ** ** ** एक बार पे आर पंक्ति के रूप में कई देवताओं का मानना है) और 'हटाए गए' छद्म तालिका में ** एकाधिक पंक्तियां हो सकती हैं ** (यदि आपका कथन एकाधिक पंक्तियों को हटा देता है) –
@marc_s - सिस्टम में, केवल एक पंक्ति को संभवतः एक समय में हटाया जा सकता है (आवेदन फ्रंट एंड)। क्या आप इसका मतलब बता सकते हैं कि आपका क्या मतलब है। क्या यह 'WHERE id = delete.id' को' जहां आईडी में बदल दिया गया है (हटाए गए आईडी से चुनें) 'के रूप में सरल है? –
@ShawnH। हाँ यह इतना आसान होना चाहिए। मुझे लगता है कि मार्क का मतलब है कि अगर किसी तरह से एक द्रव्यमान हटाया जाता है तो ट्रिगर केवल पंक्ति के बजाए पूरे कथन के लिए आग लग जाएगा, इसलिए 'आईएन' का उपयोग करके इसे किसी भी तरह से सॉर्ट करना चाहिए। – Bridge