Oracle के &variable सिंटैक्स का MySQL समकक्ष: यूज़र-डिफ़ाइंड वेरिएबल (@)
Oracle SQL*Plus में &var सब्स्टीट्यूशन वेरिएबल उपयोग होते हैं। MySQL में इसके बजाय @variable_name यूज़र-डिफ़ाइंड वेरिएबल का उपयोग करें।
सिंटैक्स
SET @var1 = value1, @var2 = value2, ...; INSERT INTO yourTable VALUES (@var1, @var2, ...);
उदाहरण
CREATE TABLE Student_Information (
StudentId INT,
StudentName VARCHAR(100),
StudentAge INT,
StudentMarks INT,
StudentCountryName VARCHAR(10)
);
SET @Id = 10001, @Name = 'Carol', @Age = 23, @Marks = 89, @CountryName = 'US';
INSERT INTO Student_Information VALUES (@Id, @Name, @Age, @Marks, @CountryName);
सत्यापन
SELECT * FROM Student_Information;
+-----------+-------------+------------+--------------+--------------------+ | StudentId | StudentName | StudentAge | StudentMarks | StudentCountryName | +-----------+-------------+------------+--------------+--------------------+ | 10001 | Carol | 23 | 89 | US | +-----------+-------------+------------+--------------+--------------------+
मुख्य अंतर
| Oracle (&) | MySQL (@) |
|---|---|
| क्लाइंट-साइड सब्स्टीट्यूशन | सर्वर-साइड सेशन वेरिएबल |
| प्रॉम्प्ट कर सकता है | केवल SET से सेट होता है |
| स्क्रिप्ट में उपयोगी | स्टोर्ड प्रोसीजर/ट्रिगर में भी काम करता है |
बेस्ट प्रैक्टिस
- एप्लिकेशन कोड (PHP, Java, Python) में प्रिपेयर्ड स्टेटमेंट (
?प्लेसहोल्डर) उपयोग करें — यह SQL इंजेक्शन से बचाता है और प्रदर्शन बेहतर होता है। - यूज़र वेरिएबल (@) केवल एड-हॉक स्क्रिप्ट/टेस्टिंग के लिए उपयुक्त हैं।