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

MySQL में एक ही क्वेरी से दो तालिकाओं में डेटा कैसे डालें?

MySQL में STORED PROCEDURE का उपयोग करके आप एक ही कॉल में दो (या अधिक) तालिकाओं में डेटा डाल सकते हैं। यह लेनदेन स्थिरता सुनिश्चित करता है और एप्लिकेशन कोड को सरल बनाता है।

दो तालिकाएं बनाना

mysql> CREATE TABLE DemoTable (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentFirstName VARCHAR(20)
);

mysql> CREATE TABLE DemoTable2 (
    ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ClientName VARCHAR(20),
    ClientAge INT
);

स्टोर्ड प्रोसीजर बनाना

mysql> DELIMITER //
mysql> CREATE PROCEDURE insert_into_twoTables(name VARCHAR(100), age INT)
    -> BEGIN
    ->     INSERT INTO DemoTable (StudentFirstName) VALUES (name);
    ->     INSERT INTO DemoTable2 (ClientName, ClientAge) VALUES (name, age);
    -> END //
mysql> DELIMITER ;

स्टोर्ड प्रोसीजर कॉल करना

mysql> CALL insert_into_twoTables('Tom', 38);

आउटपुट: Query OK, 1 row affected, 1 warning (0.41 sec)

दोनों तालिकाओं में डेटा सत्यापित करना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-----------+------------------+
| StudentId | StudentFirstName |
+-----------+------------------+
| 1         | Tom              |
+-----------+------------------+
mysql> SELECT * FROM DemoTable2;

आउटपुट:

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
| 1        | Tom        | 38        |
+----------+------------+-----------+

व्याख्या: स्टोर्ड प्रोसीजर पैरामीटर स्वीकार करता है और दो INSERT स्टेटमेंट निष्पादित करता है। DELIMITER बदलना आवश्यक है ताकि प्रोसीजर बॉडी में सेमीकॉलन को स्टेटमेंट अंत न माना जाए।

बेहतर अभ्यास: उत्पादन में, लेनदेन नियंत्रण जोड़ें:

CREATE PROCEDURE insert_into_twoTables(name VARCHAR(100), age INT)
BEGIN
    DECLARE EXIT HANDLER FOR SQLEXCEPTION
    BEGIN
        ROLLBACK;
        RESIGNAL;
    END;
    START TRANSACTION;
    INSERT INTO DemoTable (StudentFirstName) VALUES (name);
    INSERT INTO DemoTable2 (ClientName, ClientAge) VALUES (name, age);
    COMMIT;
END
  1. JDBC का उपयोग करके MySQL डेटाबेस में फाइल कैसे डालें/स्टोर करें? JDBC का उपयोग करके MySQL डेटाबेस में फाइल कैसे डालें/स्टोर करें?

    सामान्य तौर पर, फाइल की सामग्री MySQL डेटाबेस में Clob (TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT) डेटाटाइप के तहत संग्रहीत होती है।JDBC Clob डेटाटाइप के लिए समर्थन प्रदान करता है, डेटाबेस में टेबल में फाइल की सामग्री स्टोर करने के लिए।PreparedStatement  इंटरफ़ेस का setCharacterStream() मेथड पैरामीट

  1. - MySQL में एक ही क्वेरी से दो टेबल्स की पंक्तियों को कैसे काउंट करें

    सबक्वेरीज़ के साथ दो टेबल्स की रो काउंट एक साथ प्राप्त करना एक ही क्वेरी में दो अलग-अलग टेबल्स की पंक्ति संख्या गिनने के लिए सबक्वेरीज़ का उपयोग करें। पहली टेबल बनाएं: mysql> CREATE TABLE DemoTable1 ( Name VARCHAR(40) ); रिकॉर्ड्स इन्सर्ट करें: mysql> INSERT INTO DemoTable1 VALUES (Chris);

  1. Java में PreparedStatement का उपयोग करके MySQL DATE कॉलम में डेट इन्सर्ट कैसे करें Java में PreparedStatement का उपयोग करके MySQL DATE कॉलम में डेट इन्सर्ट कैसे करें

    Java PreparedStatement से MySQL DATE कॉलम में डेट इन्सर्ट करना Java से MySQL DATE कॉलम में वर्तमान डेट इन्सर्ट करने के लिए PreparedStatement और java.sql.Date का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( PassengerId INT, PassengerName VARCHAR(40), ArrivalD