Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

शुद्ध MySQL वाले पेड़ का रूट पथ प्राप्त करें

मुझे लगता है कि संग्रहित प्रक्रियाएं काम कर सकती हैं:

DELIMITER $$

DROP PROCEDURE IF EXISTS get_root;
CREATE PROCEDURE get_root(
   IN parentID INT,
   OUT rootID INT
)

BEGIN   
    SELECT parent_id FROM tree WHERE id = parentID INTO rootID;

    IF rootID = 0
        THEN SET rootID = parentID;
    ELSE
        CALL get_root(rootID, rootID);
    END IF;

END$$
DELIMITER ;

SET @@GLOBAL.max_sp_recursion_depth = 255;
SET @@session.max_sp_recursion_depth = 255; 

CALL get_root(4, @rootID);
SELECT @rootID;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक कॉलम में गैर-शून्य मान के साथ नवीनतम रिकॉर्ड का चयन करें

  2. एसक्यूएल में केवल एक बार दोहराने वाली गणनाओं की गणना करने का कोई तरीका है?

  3. जटिल SQL क्वेरी, अनेक से अनेक

  4. मैं उस तालिका के लिए एसक्यूएल कैसे लिख सकता हूं जो MySQL में संरक्षित कीवर्ड के समान नाम साझा करता है?

  5. नियमित अभिव्यक्ति के साथ mysql regex_replace का उपयोग करना