2010-05-12 19 views
56

RAISERRORRAISEERROR वर्तनी क्यों नहीं है? दूसरा ई कहां है? मैं समझ सकता था कि क्या यह कुछ प्राचीन कीवर्ड लंबाई बाधा थी, लेकिन मुझे उम्मीद नहीं होगी कि यह नौ-वर्ण सीमा होगी।रेज़रर गलत वर्तनी क्यों है? या यह नहीं है?

क्या आरएआईएस या आरआरओआर एक तकनीकी शब्द है कि "raise-त्रुटि" सिर्फ एक गलत पढ़ना है? क्या इसकी (तत्काल) उत्पत्ति एक अलग भाषा में है?

मैंने Google की खोज की है लेकिन इस विषय पर अधिक जानकारी नहीं मिली है।

+8

वास्तव में मुझे क्या भ्रमित कर रहा था यह है कि एसएसएमएस रंग 'रायसरर' गुलाबी और 'रेज़रर' नीला रंग। –

उत्तर

10

दिलचस्प - मैंने ईमानदारी से पहले कभी भी यह नहीं देखा है।

मुझे संदेह होगा कि यह एक प्रारंभिक निरीक्षण है जिसे अभी कभी सही नहीं किया गया था, हालांकि मैं थोड़ा आश्चर्यचकित हूं कि समर्थन को बाद में रायसरर के लिए जोड़ा नहीं गया था, जिसमें गलत वर्तनी संगतता के लिए अकेली रह गई थी।

अपडेट: जाहिर है, इसमें कुछ आंतरिक भ्रम भी है जो इसे होना चाहिए - this connect request देखें, हालांकि एमएसएफटी ने इसका जवाब नहीं दिया।

+3

मजेदार है कि उन्होंने इसे "पुनरुत्पादित नहीं" के रूप में बंद कर दिया है। मैंने बस कनेक्ट पेज पर "मैं इसे पुन: पेश कर सकता हूं" बटन दबाया। –

+3

मजेदार है कि उन्होंने इसे हटा दिया है। – Lyra

5

अभी भी TIMESTAMP डेटा प्रकार क्यों है? पुराने संस्करणों के लिए समर्थन। किसी ने साइबेस व्यक्ति को बहुत पहले इसे रेज़रर बनाने का फैसला किया था, न कि रायसरर, जब माइक्रोसॉफ्ट made a deal with Sybase उन्होंने प्रवृत्ति जारी रखी।

+1

+1। मुझे लगता है कि आपका मतलब रायसर है और रायटर नहीं; ओ) –

+0

@ आर्डमैन, हाँ, इसे ठीक कर दिया, मैंने इसे 'रेज़रर' के रूप में कई बार टाइप किया, मैं इसे 'रायसरर' के रूप में नहीं कर सका! –

3

मेरा मानना ​​है कि यह जानबूझकर है कि राइसरर बनाम रायसरर को पढ़ना वास्तव में आसान है। (एक और उदाहरण के लिए sp_helprotect भी देखें), खासकर जब मामले के आधार पर कोई भेद नहीं है।

यह सामान साइबेस के इतिहास में वापस जाता है।

"कभी अपने आप से पूछा क्यों वहाँ केवल एक ही" ई "RAISERROR में यही पुराने Sybase दिनों जहां दो एक ही अक्षर के केवल एक करने के लिए वापस काट रहे थे से है:

4

मैं एक ही सवाल यह है कि यही वजह है कि मैं इस पोस्ट भर में ठोकर खाई थी। जो मैं देख सकता हूं उससे वास्तव में एक अंतर होता है और दो मामलों के बीच वर्तनी एकमात्र चीज नहीं है। ये दो कार्य उपयोग के कारण समकक्ष नहीं हैं।

लिंक और रंग

  • RAISERROR - एक MSDN लिंक गया है और यह SSMS में सियान/नीले रंग का
  • RAISEERROR - मैं क्या मिल सकता से एक MSDN लिंक नहीं है अभी और यह SSMS में मैजेंटा रंग का

क्रेडिट जहाँ क्रेडिट कारण है - रंग अवलोकन रा था ऊपर दिए गए प्रश्न के तहत टिप्पणियों में उपयोगकर्ता Sahuagin द्वारा पहले से ही स्वीकृत है।

आप SQL Server 2012 का उपयोग कर रहे हैं?
इससे पहले कि मैं आगे बढ़ना मुझे लगता है कि यह राज्य के लिए है कि यदि आप SQL सर्वर 2012 या अधिक उपयोग कर रहे हैं, RAISERRROR प्रयोग न करें उचित है! आपको THROW का उपयोग करना चाहिए।

तो क्या अंतर है?
आप एक इनलाइन कथन में RAISERROR (नीला) का उपयोग कर सकते हैं, बनाम RAISEERROR (magenta) का उपयोग करके जो विभिन्न कोड ब्लॉक के अंदर निहित होने पर निर्भर करता है; लौटाई गई त्रुटि के आधार पर। सटीक वाक्यविन्यास त्रुटि निम्न है:

'RAISEERROR' के पास गलत वाक्यविन्यास। रूपांतरण की उम्मीद, डायलॉग, वितरित या हस्तांतरण।

RAISERROR उदाहरण (एक ई - नीला)

DECLARE @foo varchar(200) 
SET @foo = '' 

IF NULLIF(@foo, '') IS NULL 
BEGIN 
    -- To fix this line, remove one "E" to read RAISERROR 
    RAISEERROR('Not enough Vespene Gas!', 16, 1); 

    RETURN -- This is required otherwise execution will continue! 
END 

-- You need the RETURN above or this will execute 
SELECT Critical_TSqlLine = 1; 

This is what happens when I execute this block of code.

अब अगर आप सिर्फ एक 'ई' उपरोक्त कोड से हटा दें, कि ठीक से काम करेंगे। मैंने निष्पादन के परिणाम प्रदान नहीं किए, लेकिन यदि आप एसएसएमएस खोलते हैं और इसे ड्रॉप और निष्पादित करते हैं तो मैं गारंटी देता हूं कि यह काम करेगा।

RAISEERROR उदाहरण (दो Es - मैजंटा)
मैं कैसे समारोह के इस संस्करण का उपयोग करने के लिए और मैं एक उदाहरण है जहां यह वास्तव में काम करेंगे प्रदान नहीं कर सकते पता लगाने की कोशिश पूरी तरह से बहुत अधिक समय बिताया। मैंने कनवर्सन, डायलॉग, डिस्ट्रिब्यूटेड या ट्रांज़ेक्शन का उपयोग करने में देखा और मुझे काम करने के लिए वाक्यविन्यास नहीं मिला। लंबी कहानी छोटी, इस संस्करण के साथ खुद को चिंता न करें केवल एक ई संस्करण का उपयोग करें। आप में से उन लोगों के लिए जो SQL Server 2012 का उपयोग कर रहे हैं, इससे आपको किसी भी तरह चिंता नहीं करनी चाहिए।

संबंधित मुद्दे