Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL स्टोर्ड प्रोसीजर में @ सिंबल का उपयोग क्या है?

MySQL में @ सिंबल: यूजर-डिफाइंड सेशन वेरिएबल

MySQL में @ सिंबल का उपयोग यूजर-डिफाइंड सेशन वेरिएबल को दर्शाने के लिए किया जाता है। ये वेरिएबल केवल वर्तमान सेशन के लिए मौजूद होते हैं और स्टोर्ड प्रोसीजर के बीच डेटा पास करने के लिए उपयोगी होते हैं।

उदाहरण: स्टोर्ड प्रोसीजर में @ वेरिएबल का उपयोग

पहले एक टेबल बनाएं और डेटा डालें:

CREATE TABLE DemoTable (
    StudentName VARCHAR(50)
);

INSERT INTO DemoTable VALUES ('John Smith');
INSERT INTO DemoTable VALUES ('John Doe');
INSERT INTO DemoTable VALUES ('Chris Brown');

स्टोर्ड प्रोसीजर बनाएं जो काउंट को @ वेरिएबल में स्टोर करे

DELIMITER //
CREATE PROCEDURE `Demo_Of_@Symbol`()
BEGIN
    SELECT COUNT(*) INTO @numberOfRecords FROM DemoTable;
END //
DELIMITER ;

ध्यान दें: INTO @numberOfRecords — यहां @ सिंबल एक सेशन वेरिएबल बनाता है जो प्रोसीजर समाप्त होने के बाद भी उपलब्ध रहता है।

प्रोसीजर को कॉल करें और वेरिएबल देखें

CALL `Demo_Of_@Symbol`();
SELECT @numberOfRecords;

आउटपुट:

+------------------+
| @numberOfRecords |
+------------------+
| 3                |
+------------------+

मुख्य बिंदु

  • @var_name — सेशन वेरिएबल (कनेक्शन-विशिष्ट)
  • DECLARE var_name — लोकल वेरिएबल (केवल प्रोसीजर के अंदर)
  • सेशन वेरिएबल का स्कोप पूरे सेशन तक होता है
  • ये एक कनेक्शन से दूसरे कनेक्शन में शेयर नहीं होते

उपयोग केस: स्टोर्ड प्रोसीजर के परिणाम को बाद की क्वेरी में उपयोग करना, एक प्रोसीजर से दूसरे में डेटा पास करना, या डिबगिंग के लिए इंटरमीडिएट मान स्टोर करना।

  1. - MySQL स्टोर्ड प्रोसीजर का विवरण कैसे प्रदर्शित करें?

    MySQL में SHOW CREATE PROCEDURE का उपयोग करके स्टोर्ड प्रोसीजर का विवरण देखना किसी स्टोर्ड प्रोसीजर की परिभाषा, निर्माण समय, कॉलर, और अन्य मेटाडेटा देखने के लिए SHOW CREATE PROCEDURE कमांड का उपयोग करें। वाक्यविन्यास SHOW CREATE PROCEDURE yourProcedureName(); उदाहरण के साथ पूर्ण प्रदर्शन स्टोर्ड

  1. - MySQL स्टोर्ड प्रोसीजर पूरी टेबल फेच नहीं कर रहा?

    आप स्टोर्ड प्रोसीजर में SELECT * FROM yourTableName का उपयोग कर सकते हैं। पहले एक टेबल बनाते हैं: mysql> create table DemoTable654 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,StudentFirstName varchar(100) ); Query OK, 0 rows affected (0.70 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिक

  1. - MySQL स्टोर्ड प्रोसीजर में IF...ELSE का उपयोग करके शर्तें सेट करना

    MySQL स्टोर्ड प्रोसीजर में IF...ELSE सशर्त तर्क MySQL स्टोर्ड प्रोसीजर IF...ELSE स्टेटमेंट का उपयोग करके सशर्त तर्क का समर्थन करते हैं, जिससे पैरामीटर मानों के आधार पर डायनामिक निष्पादन पथ सक्षम होते हैं। सिंटैक्स IF yourCondition THEN yourStatement1; ELSE yourStatement2; END IF; पूर्ण उदा