MySQL में उपयोगकर्ता-परिभाषित वेरिएबल सेट करना
MySQL में SET कमांड या SELECT ... INTO का उपयोग करके सेशन-लेवल टेम्पररी वेरिएबल असाइन कर सकते हैं। ये वेरिएबल @ से शुरू होते हैं।
सिंटैक्स 1: SET कमांड
SET @anyVariableName = (SELECT yourColumnName FROM yourTableName WHERE yourCondition);
सिंटैक्स 2: SELECT ... INTO
SELECT yourColumnName INTO @anotherVariableName FROM yourTableName WHERE yourCondition;
उदाहरण: टेबल बनाना और डेटा डालना
mysql> create table tempVariableAssignment (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(20),
-> Age int
-> );
Query OK, 0 rows affected (0.59 sec)
mysql> insert into tempVariableAssignment(Name,Age) values('John',25);
mysql> insert into tempVariableAssignment(Name,Age) values('Carol',26);
mysql> insert into tempVariableAssignment(Name,Age) values('Sam',28);
mysql> insert into tempVariableAssignment(Name,Age) values('David',19);
mysql> insert into tempVariableAssignment(Name,Age) values('Bob',23);
वेरिएबल असाइन करना और उपयोग करना
mysql> set @findAge = (select Age from tempVariableAssignment where Id=4); Query OK, 0 rows affected (0.02 sec) mysql> select @findAge;
आउटपुट:
+----------+ | @findAge | +----------+ | 19 | +----------+
वैकल्पिक विधि: SELECT INTO
mysql> select Age INTO @anotherAge from tempVariableAssignment where Id=4; Query OK, 1 row affected (0.00 sec) mysql> select @anotherAge;
आउटपुट:
+-------------+ | @anotherAge | +-------------+ | 19 | +-------------+
महत्वपूर्ण नोट्स
- यूजर वेरिएबल सेशन-स्पेसिफिक होते हैं (कनेक्शन बंद होने पर गायब हो जाते हैं)
@var_nameसिंटैक्स का उपयोग करें- सबक्वेरी से केवल एक मान लौटना चाहिए
- इनका उपयोग स्टोर्ड प्रोसीजर, ट्रिगर और जटिल क्वेरीज़ में मान पास करने के लिए करें