मैं SQL सर्वर 2005 का उपयोग कर रहा हूं। मैंने एक संग्रहीत प्रक्रिया बनाई जो अधिकांश समय काम करता है, लेकिन मुझे एक उदाहरण मिला कि यह वही नहीं है जहां मैं चाहता हूं।संग्रहीत प्रक्रिया में एसक्यूएल त्रुटि कैसे प्राप्त करें
वर्तमान में, कोड इस
if @@error <> 0
begin
select @message_error = "There was a database error adding product "+ @product + " to product line
end
कहाँ @message_error
एक आउटपुट चर रहा है की तरह कुछ नहीं करता है।
तो, मैं select @@error
कर सकता हूं और एक संख्या प्राप्त कर सकता हूं, लेकिन मैं वास्तव में एसक्यूएल त्रुटि चाहता हूं।
कुछ की तरह कुछ अरे, मैं ऐसा नहीं कर सका क्योंकि इस कॉलम या जो कुछ भी पर एक एफके बाधा है। मैं MSDN http://msdn.microsoft.com/en-us/library/ms178592(v=sql.90).aspx
पर इस लेख पाया लेकिन यह केवल RAISERROR
के साथ कस्टम अपवाद फेंकने के ऊपर जाता है, मैं अपने ही त्रुटि संदेश या अपवाद बनाने के लिए नहीं करना चाहते हैं, मैं सिर्फ जानना चाहता है कि सामान काम नहीं कर रहा चाहते हैं। मैं प्रबंधन स्टूडियो के माध्यम से संग्रहीत प्रक्रिया को निष्पादित कर सकता हूं और सटीक SQL त्रुटि देख सकता हूं, लेकिन साइट से डेटा से मिलान करने और इसे मैन्युअल रूप से डालने की कोशिश करने में यह कठिन है।
मैं आउटपुट वैरिएबल में SQL त्रुटि टेक्स्ट कैसे प्राप्त करूं?
क्या आपने ERROR_MESSAGE http://msdn.microsoft.com/en-us/library/ms190358.aspx पर देखा है? – Romhein