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

हम एक MySQL संग्रहीत फ़ंक्शन कैसे बना सकते हैं जो किसी तालिका से गतिशील डेटा का उपयोग करता है?

<घंटा/>

MySQL संग्रहीत फ़ंक्शन तालिकाओं का संदर्भ दे सकते हैं लेकिन वे उन कथनों का उपयोग नहीं कर सकते हैं जो परिणाम सेट लौटाते हैं। इसलिए हम कह सकते हैं कि कोई चयन क्वेरी नहीं है जो परिणाम सेट लौटाती है। लेकिन इससे छुटकारा पाने के लिए हमारे पास SELECT INTO हो सकता है। उदाहरण के लिए, हम एक फ़ंक्शन 'Avg_marks' बना रहे हैं, जो 'Student_marks' नाम की तालिका के डायनेमिक डेटा का उपयोग करता है, जिसमें निम्न रिकॉर्ड होते हैं, ताकि अंकों के औसत की गणना की जा सके।

mysql> Select * from Student_marks;
+-------+------+---------+---------+---------+
| Name  | Math | English | Science | History |
+-------+------+---------+---------+---------+
| Raman |   95 |      89 |      85 |      81 |
| Rahul |   90 |      87 |      86 |      81 |
+-------+------+---------+---------+---------+
2 rows in set (0.00 sec)

mysql> DELIMITER //
mysql> Create Function Avg_marks(S_name Varchar(50))
    -> RETURNS INT
    -> DETERMINISTIC
    -> BEGIN
    -> DECLARE M1,M2,M3,M4,avg INT;
    -> SELECT Math,English,Science,History INTO M1,M2,M3,M4 FROM Student_marks W
HERE Name = S_name;
    -> SET avg = (M1+M2+M3+M4)/4;
    -> RETURN avg;
    -> END //
Query OK, 0 rows affected (0.01 sec)

mysql> DELIMITER ;
mysql> Select Avg_marks('Raman') AS 'Raman_Marks';
+-------------+
| Raman_Marks |
+-------------+
|          88 |
+-------------+
1 row in set (0.07 sec)

mysql> Select Avg_marks('Rahul') AS 'Raman_Marks';
+-------------+
| Raman_Marks |
+-------------+
|          86 |
+-------------+
1 row in set (0.00 sec)

  1. हम डेटाबेस से एक MySQL संग्रहीत फ़ंक्शन को कैसे हटा सकते हैं?

    यदि हमारे पास ALTER ROUTINE विशेषाधिकार हैं तो DROP FUNCTION स्टेटमेंट की मदद से, हम एक MySQL संग्रहीत फ़ंक्शन को हटा सकते हैं। इसका सिंटैक्स इस प्रकार हो सकता है - सिंटैक्स DROP FUNCTION [IF EXISTS] function_name यहाँ function_name उस फंक्शन का नाम है जिसे हम अपने डेटाबेस से हटाना चाहते हैं। उदाहर

  1. हम mysql_fetch_assoc() फ़ंक्शन का उपयोग करने वाली PHP स्क्रिप्ट की सहायता से MySQL तालिका से सभी रिकॉर्ड कैसे प्रदर्शित कर सकते हैं?

    इसे स्पष्ट करने के लिए हम Tutorials_tbl नामक तालिका से सभी रिकॉर्ड्स प्राप्त कर रहे हैं PHP स्क्रिप्ट की मदद से जो mysql_fetch_assoc() . का उपयोग करती है निम्नलिखित उदाहरण में कार्य करें - उदाहरण <?php    $dbhost = 'localhost:3036';    $dbuser = 'root';  

  1. मैं एक MySQL दृश्य कैसे बना सकता हूं जो कुछ शर्तों के आधार पर तालिका से मान लेता है?

    यदि हम एक ऐसा दृश्य बनाना चाहते हैं जो किसी विशेष स्थिति के आधार पर तालिका से मान लेता है तो हमें दृश्य बनाते समय WHERE क्लॉज का उपयोग करना होगा। WHERE क्लॉज के आधार पर मान को ध्यान में रखा जाएगा। WHERE क्लॉज के साथ MySQL व्यू बनाने का सिंटैक्स इस प्रकार हो सकता है - सिंटैक्स देखें view_name AS Sele