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

मैं यह पता नहीं लगा पा रहा हूं कि इस MYSQL क्वेरी को बनाने में मैंने क्या गलत किया है

  • आपको सीमांकक को सिवाय किसी भी चीज़ पर सेट करने की आवश्यकता है ;
  • वैकल्पिक रूप से, जांच करें कि क्या वही नाम संग्रहीत कार्यविधि पहले से मौजूद है।
  • अंत में, सीमांकक को वापस ; . पर फिर से परिभाषित करें
  • जब तक, आप वेरिएबल x . का उपयोग नहीं करने जा रहे हैं इस संग्रहीत प्रक्रिया के बाहर; आपको वास्तव में @ . का उपयोग करने की आवश्यकता नहीं है; यह उस विशेष सत्र में हर जगह चर उपलब्ध कराता है)।

कोशिश करें (टिप्पणियों में अधिक स्पष्टीकरण):

CREATE TABLE t1 (s1 INT, PRIMARY KEY (s1)); -- create the table

DELIMITER $$ -- redefine the delimiter to $$ (for eg)

DROP PROCEDURE IF EXISTS `handlerdemo` $$ -- drop previous if exists

CREATE PROCEDURE handlerdemo ()
  BEGIN

    DECLARE x INT DEFAULT 0; -- datatype is INT 
    -- also a good practice to set default value

    SET x = 1; -- no need to use in Session context
    INSERT INTO t1 VALUES (x); -- use variable name here instead of literal value

    SET x = 2; 
    INSERT INTO t1 VALUES (x); 

  END $$ -- remember that delimiter is $$ right now

-- redefine the Delimiter back to ;
DELIMITER ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पायथन, 9 टुपल यूटीसी तिथि को MySQL डेटाटाइम प्रारूप में कनवर्ट करें

  2. PHP में सक्रियण लिंक की समय सीमा कैसे समाप्त करें?

  3. MySQL में बूलियन फुल-टेक्स्ट सर्च में `~` (टिल्ड) ऑपरेटर व्यवहार नहीं कर रहा है जैसा कि MySQL डेवलपर वेबसाइट में बताया गया है

  4. Laravel Eloquent में कुछ फ़ील्ड्स का चयन कैसे करें?

  5. Mysql डेटाटाइप या PHP कोड हर बार मेरे डेटाबेस में एक पेज ब्राउज़र में लोड होने पर 1 से बढ़ जाता है