MySQL में दो अलग-अलग प्रकार के वेरिएबल हैं:
-
स्थानीय चर (जो नहीं हैं
@
. द्वारा उपसर्ग ) को दृढ़ता से टाइप किया जाता है और संग्रहीत प्रोग्राम ब्लॉक में स्कोप किया जाता है जिसमें उन्हें घोषित किया जाता है। ध्यान दें, जैसा किDECLARE
के तहत प्रलेखित है। सिंटैक्स : -
उपयोगकर्ता चर (जो हैं
@
. द्वारा उपसर्ग ) शिथिल रूप से टाइप किए गए हैं और सत्र के दायरे में हैं। ध्यान दें कि उन्हें न तो आवश्यकता है और न ही घोषित किया जा सकता है—बस सीधे उनका उपयोग करें।
इसलिए, यदि आप एक संग्रहीत प्रोग्राम को परिभाषित कर रहे हैं और वास्तव में अपने प्रश्न के शब्दों के अनुसार "स्थानीय चर" चाहते हैं, तो आपको @
ड्रॉप करना होगा चरित्र और सुनिश्चित करें कि आपका DECLARE
स्टेटमेंट आपके प्रोग्राम ब्लॉक की शुरुआत में है। अन्यथा, "उपयोगकर्ता चर" का उपयोग करने के लिए, DECLARE
. ड्रॉप करें बयान।
इसके अलावा, आपको या तो अपनी क्वेरी को एक सबक्वेरी के रूप में निष्पादित करने के लिए कोष्ठकों में घेरना होगा:
SET @countTotal = (SELECT COUNT(*) FROM nGrams);
अन्यथा, आप SELECT ... INTO
:
SELECT COUNT(*) INTO @countTotal FROM nGrams;