जवाबों:
"इस उद्देश्य के लिए" तदर्थ लैटिन है। आप इसे "फ्लाई पर" क्वेरी या "बस इतना" क्वेरी कह सकते हैं। यह एसक्यूएल क्वेरी की तरह है जिसमें आप अपनी जरूरत के हिसाब से बस टाइप करते हैं
var newSqlQuery = "SELECT * FROM table WHERE id = " + myId;
... जो प्रत्येक बार कोड की लाइन निष्पादित होने पर एक पूरी तरह से अलग क्वेरी होती है, के मूल्य के आधार पर myId
। एक तदर्थ क्वेरी के विपरीत एक पूर्वनिर्धारित क्वेरी है जैसे कि संग्रहीत प्रक्रिया, जहां आपने उस तालिका (कहने) से चयन करने के पूरे सामान्यीकृत उद्देश्य के लिए एक एकल क्वेरी बनाई है, और आईडी को एक चर के रूप में पास करें।
Ad-Hoc Query एक क्वेरी है जिसे क्वेरी जारी किए जाने से पहले निर्धारित नहीं किया जा सकता है। यह जरूरत पड़ने पर सूचना प्राप्त करने के लिए बनाई गई है और इसमें गतिशील रूप से निर्मित एसक्यूएल है जो आमतौर पर डेस्कटॉप-निवासी क्वेरी टूल्स द्वारा निर्मित होता है।
जाँच करें: http://www.learn.geekinterview.com/data-warehouse/dw-basics/what-is-an-ad-hoc-query.html
यह भी जोड़ना चाहते हैं कि तदर्थ क्वेरी SQL इंजेक्शन हमलों के लिए असुरक्षित है। हमें इसके उपयोग से बचने और इसके बजाय पैरामीटर किए गए SQLs का उपयोग करने की कोशिश करनी चाहिए ( जैसे Java में ReadyedStatement )।
Ad-Hoc Query एक क्वेरी है जिसे क्वेरी जारी किए जाने से पहले निर्धारित नहीं किया जा सकता है। यह जरूरत पड़ने पर सूचना प्राप्त करने के लिए बनाई गई है और इसमें गतिशील रूप से निर्मित एसक्यूएल है जो आमतौर पर डेस्कटॉप-निवासी क्वेरी टूल्स द्वारा निर्मित होता है। एक तदर्थ क्वेरी कंप्यूटर या डेटाबेस प्रबंधक में नहीं रहती है, लेकिन डेटा उपयोगकर्ता की जरूरतों के आधार पर गतिशील रूप से बनाई जाती है।
SQL में, एक तदर्थ क्वेरी एक ढीला टाइप कमांड / क्वेरी है जिसका मूल्य कुछ चर पर निर्भर करता है। हर बार जब कमांड को निष्पादित किया जाता है, तो परिणाम भिन्न होता है, जो चर के मूल्य पर निर्भर करता है। यह पूर्व निर्धारित नहीं किया जा सकता है और आमतौर पर गतिशील प्रोग्रामिंग SQL क्वेरी के अंतर्गत आता है। एक तदर्थ क्वेरी अल्पकालिक है और रनटाइम पर बनाई गई है।
डीबी सर्वर पर उपलब्ध किसी या कई मर्ज किए गए तालिकाओं से एक विशिष्ट रिकॉर्डसेट प्रदान करने के लिए एक ऐड-हॉक क्वेरी बनाई गई है। ये प्रश्न आमतौर पर एकल-उपयोग के उद्देश्य को पूरा करते हैं, और भविष्य में फिर से चलाने के लिए किसी भी संग्रहीत प्रक्रिया में शामिल करने के लिए आवश्यक नहीं हो सकता है।
तदर्थ परिदृश्य : आपको चर के एक विशिष्ट सेट के साथ डेटा के एक विशिष्ट सबसेट के लिए अनुरोध प्राप्त होता है। यदि कोई पूर्व-लिखित क्वेरी नहीं है जो आवश्यक परिणाम प्रदान कर सकती है, तो आपको रिकॉर्ड परिणाम उत्पन्न करने के लिए Ad-hoc क्वेरी लिखनी होगी।
एकल उपयोग से परे Ad-hoc क्वेरी संग्रहीत कार्यविधियाँ हैं ; यानी क्वेरीज़ जो DB इंटरफ़ेस टूल में संग्रहीत हैं। फिर इन संग्रहीत प्रक्रियाओं को एक मॉड्यूल या मैक्रो के भीतर अनुक्रम में निष्पादित किया जा सकता है, पूर्वनिर्धारित कार्य को पूरा करने के लिए या तो मांग पर, एक शेड्यूल पर, या किसी अन्य ईवेंट द्वारा ट्रिगर किया गया।
संग्रहीत कार्यविधि परिदृश्य : हर महीने आपको तालिकाओं के एक ही सेट से और समान चर के साथ एक रिपोर्ट उत्पन्न करने की आवश्यकता होती है (ये चर विशिष्ट पूर्वनिर्धारित मूल्य, "वर्तमान माह के अंत" या उपयोगकर्ता के इनपुट मूल्यों जैसे गणना किए जा सकते हैं)। आपने पहली बार एक तदर्थ क्वेरी के रूप में प्रक्रिया बनाई होगी। सटीकता सुनिश्चित करने के लिए परिणामों का परीक्षण करने के बाद, आप इस क्वेरी को तैनात करना चुन सकते हैं। फिर आप एक मॉड्यूल या मैक्रो में क्वेरी या श्रृंखला की क्वेरी को आवश्यकतानुसार फिर से चलाने के लिए स्टोर करेंगे।
तदर्थ प्रश्न वे होते हैं जो पहले से परिभाषित नहीं होते हैं जिनकी नियमित आधार पर आवश्यकता नहीं होती है, इसलिए वे रिपोर्ट या प्रश्नों के विशिष्ट सेट में शामिल नहीं होते हैं
एक तदर्थ प्रश्न है:
Ad hoc query कंप्यूटर की परिभाषा का प्रकार है। इसका मतलब है कि यह क्वेरी किसी भी जानकारी को प्राप्त करने के लिए विशेष रूप से डिज़ाइन है जब यह केवल आवश्यक हो। पूर्वनिर्धारित। इसे देखें https://www.youtube.com/watch?v=0c8JEKmVXhU
Sql Server में "Ad Hoc Query" का उपयोग Ad Hoc Distributed Queries के लिए भी किया जाता है। ये OpenRowset या OpenDatasource के माध्यम से किसी अन्य सर्वर पर तदर्थ प्रश्न हैं। ऐड हॉक डिस्ट्रिब्यूटेड क्वेरीज़ को कॉन्फ़िगर करने के बाद ही अनुमति दी जाती है। यह एक सर्वर कॉन्फ़िगरेशन विकल्प है।
SQL injection attacks
... आपको पैरामीटर का उपयोग करना चाहिए।