के अंदर एक संग्रहित प्रो बनाएं, मेरे पास एक एसक्यूएल स्क्रिप्ट है जो उत्पादन में रोल करने के लिए सेट है। मैंने विभिन्न परियोजनाओं को अलग-अलग लेनदेन में लपेट लिया है। प्रत्येक लेनदेन में हमने संग्रहित प्रक्रियाएं बनाई हैं। मुझे त्रुटि संदेश मिल रहे हैंटीएसक्यूएल - एक लेनदेन कथन
संदेश 156, स्तर 15, राज्य 1, रेखा 4 कीवर्ड 'प्रक्रिया' के पास गलत वाक्यविन्यास।
मैं वर्णन करने के लिए
Begin Try
Begin Transaction
-- do a bunch of add/alter tables here
-- do a bunch of data manipulation/population here
-- create a stored proc
create procedure dbo.test
as
begin
select * from some_table
end
Commit
End Try
Begin Catch
Rollback
Declare @Msg nvarchar(max)
Select @Msg=Error_Message();
RaisError('Error Occured: %s', 20, 101,@Msg) With Log;
End Catch
त्रुटि सूचित करते हैं कि मैं लेनदेन के अंदर संग्रहीत procs नहीं बना सकते लगता है इस उदाहरण स्क्रिप्ट बनाया है, लेकिन मैं किसी भी डॉक्स कि अन्यथा कहना नहीं मिल रहा हूँ (शायद isn गूगल आज स्वतंत्र रूप से नहीं है)।
यह एसक्यूएल सर्वर के लिए है? –
हां, क्षमा करें, मुझे इसका उल्लेख करना चाहिए था। एसक्यूएल 2008. –
मैंने लेनदेन के निर्माण प्रक्रिया को खींचने का फैसला किया और अपने स्वयं के खंड में कोशिश/पकड़ लिया। मैंने "अगर मौजूद है तो ड्रॉप करें" कथन में डाल दिया है और संग्रहित प्रो निर्माण के आस-पास "यदि मौजूद है तो प्रिंट संदेश" स्टेटमेंट्स जोड़ा गया है। सभी प्रतिक्रियाओं के लिए धन्यवाद, मैंने इससे कुछ सीखा। –