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

mysql में स्थानीय चर और तैयार कथन में चयन का उपयोग करना

http://bugs.mysql.com/bug.php?id=15263<से /ए> :

तो, हम ऐसा नहीं कर सकते:

PREPARE stmt FROM 'SELECT id INTO ? FROM t1';

हम ? पहचानकर्ता (चर नाम) के बजाय।

और जब आप पैरामीटर नाम का उपयोग करते हैं:

PREPARE stmt FROM 'SELECT id INTO rid FROM t1';

तैयार की जा रही स्ट्रिंग में, तो सर्वर को यह नहीं पता होता है कि rid उस कथन को संदर्भित करता है जिसे आप तैयार करने का प्रयास कर रहे हैं। आप इसे उसी परिणाम के साथ SP के बाहर तैयार करने का प्रयास कर सकते हैं:

mysql> prepare stmt from 'select id into p from t1';
ERROR 1327 (42000): Undeclared variable: p

इसलिए मैंने अभी उपयोगकर्ता चर का उपयोग किया है, नीचे देखें:

DROP PROCEDURE IF EXISTS `singledb`.`TOUR_TRANSFER`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `TOUR_TRANSFER`()
BEGIN
  BEGIN -- for rubric table
    -- DECLARE @tblRubric_rubric_id INT;

    SET @tblRubric_rubric_id := 0;
    SET @qry = 'SELECT count(*) into @tblRubric_rubric_id FROM zerodb2.tour_template';
    PREPARE statement FROM @qry;
    EXECUTE statement;
  END;
END$$


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORDER BY और GROUP BY का एक साथ उपयोग करना

  2. कॉलम की गणना दूसरे कॉलम से की जाती है?

  3. mysql php खोज में खोज पाठ को हाइलाइट करें

  4. स्थानीय नेटवर्क पर MySQL डेटाबेस से कनेक्ट करें

  5. मैं MYSQL में किसी अन्य कॉलम द्वारा MAX (कॉलम मान), विभाजन के साथ पंक्तियों का चयन कैसे कर सकता हूं?