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

MySQL में पैरामीटर के साथ प्रोसीजर कैसे बनाएं?

IN और OUT पैरामीटर के साथ स्टोर्ड प्रोसीजर

MySQL स्टोर्ड प्रोसीजर में IN (इनपुट), OUT (आउटपुट), और INOUT (दोनों) पैरामीटर हो सकते हैं।

सिंटैक्स

DELIMITER //
CREATE PROCEDURE proc_name(IN param1 TYPE, OUT param2 TYPE)
BEGIN
    -- स्टेटमेंट्स
    SET param2 = ...;
END //
DELIMITER ;

उदाहरण: मान मौजूद है या नहीं जांचें

mysql> CREATE TABLE SumOfAll (Amount INT);
mysql> INSERT INTO SumOfAll VALUES (100), (330), (450), (400);
mysql> DELIMITER //
mysql> CREATE PROCEDURE sp_CheckValue(IN value1 INT, OUT value2 INT)
    -> BEGIN
    ->   SET value2 = (SELECT Amount FROM SumOfAll WHERE Amount = value1);
    -> END //
    -> DELIMITER ;

केस 1: मान मौजूद नहीं (300)

mysql> CALL sp_CheckValue(300, @isPresent);
mysql> SELECT @isPresent;
+------------+
| @isPresent |
+------------+
| NULL       |
+------------+

केस 2: मान मौजूद (330)

mysql> CALL sp_CheckValue(330, @isPresent);
mysql> SELECT @isPresent;
+------------+
| @isPresent |
+------------+
| 330        |
+------------+

मुख्य बिंदु: OUT पैरामीटर मान प्राप्त करने के लिए उपयोगकर्ता वेरिएबल (@var) पास करें। प्रोसीजर के अंदर SET से मान निर्दिष्ट करें।

  1. - MySQL स्टोर्ड प्रोसीजर में DECLARE कीवर्ड से वेरिएबल बनाना

    स्टोर्ड प्रोसीजर में स्थानीय वेरिएबल घोषित करना MySQL स्टोर्ड प्रोसीजर में DECLARE स्टेटमेंट का उपयोग स्थानीय वेरिएबल बनाने के लिए किया जाता है। ये वेरिएबल केवल BEGIN ... END ब्लॉक के भीतर मान्य होते हैं। सिंटैक्स DECLARE variable_name datatype DEFAULT default_value; उदाहरण: प्रोसीजर बनाना DELIM

  1. - MySQL में INSERT ... SELECT क्वेरी का उपयोग कैसे करें?

    MySQL में INSERT ... SELECT स्टेटमेंट एक ही क्वेरी में एक तालिका से दूसरी तालिका में डेटा कॉपी करने या मानों की गणना करके डालने की अनुमति देता है। सिंटैक्स INSERT INTO target_table (col1, col2, col3, ...) SELECT col1, col2, col3, ... FROM source_table WHERE condition; उदाहरण: मानों को सीधे चुनकर ड

  1. - MySQL में CREATE TABLE में AUTO_INCREMENT प्रारंभ मान मैन्युअल सेट करें

    CREATE TABLE स्टेटमेंट में AUTO_INCREMENT = N टेबल विकल्प का उपयोग करके ऑटो-इन्क्रीमेंट काउंटर का प्रारंभ मान सेट करें। टेबल बनाएं (प्रारंभ 100) mysql> CREATE TABLE DemoTable1907 ( UserId INT NOT NULL AUTO_INCREMENT, UserName VARCHAR(20), UserAge INT, UserCountryName VARCHAR(20),