हां, आप एक ही क्वेरी में दो तालिकाओं में सम्मिलित करने के लिए संग्रहीत कार्यविधि का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं -
mysql> टेबल बनाएं DemoTable(StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(20));क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.56 सेकंड)
यहाँ दूसरी तालिका बनाने की क्वेरी है -
mysql> टेबल बनाएं DemoTable2(ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientName varchar(20), ClientAge int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.76 सेकंड)
ऊपर बनाई गई दो तालिकाओं में सम्मिलित करने के लिए संग्रहीत कार्यविधि बनाने की क्वेरी निम्नलिखित है -
mysql> DELIMITER // mysql> प्रक्रिया बनाएं insert_into_twoTables(name varchar(100),age int) डेमोटेबल (StudentFirstName) VALUES (नाम) में INSERT शुरू करें; डेमोटेबल 2 (क्लाइंटनाम, क्लाइंटएज) मूल्यों (नाम, आयु) में सम्मिलित करें; END // क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.14 सेकंड)mysql> DELIMITER;
अब कॉल कमांड की मदद से स्टोर की गई प्रक्रिया को कॉल करें -
mysql> कॉल insert_into_twoTables('Tom',38);क्वेरी ठीक, 1 पंक्ति प्रभावित, 1 चेतावनी (0.41 सेकंड)
जांचें कि रिकॉर्ड दोनों तालिकाओं में डाला गया है या नहीं।
पहली तालिका से सभी रिकॉर्ड प्रदर्शित करने की क्वेरी इस प्रकार है -
mysql> डेमोटेबल से *चुनें;
यह निम्नलिखित आउटपुट देगा -
<पूर्व>+-----------+---------------------+| छात्र आईडी | स्टूडेंटफर्स्टनाम |+----------+---------------------+| 1 | टॉम |+----------+---------------------+1 पंक्ति सेट (0.00 सेकंड) मेंदूसरी तालिका से सभी रिकॉर्ड प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -
mysql> DemoTable2 से *चुनें;
यह निम्नलिखित आउटपुट देगा -
<पूर्व>+----------+---------------+----------+| क्लाइंट आईडी | क्लाइंटनाम | ClientAge |+----------+---------------+-----------+| 1 | टॉम | 38 |+----------+---------------+-----------+1 पंक्ति सेट में (0.00 सेकंड)