खोज…


वाक्य - विन्यास

  • PREPARE stmt_name तैयार करने योग्य_stmt से
  • EXECUTE stmt_name [USING @var_name [, @var_name] ...] का उपयोग करें
  • {DEALLOCATE | DROP} PREPARE stmt_name

PREPARE, EXECUTE और DEPOCATE PREPARE स्टेटमेंट

PREPARE निष्पादन के लिए एक स्टेटमेंट तैयार करता है

तैयार कथन को निष्पादित करता है

पहले से तैयार तैयारी एक जारी बयान जारी करती है

SET @s = 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';
PREPARE stmt2 FROM @s;
SET @a = 6;
SET @b = 8;
EXECUTE stmt2 USING @a, @b;

परिणाम:

+------------+
| hypotenuse |
+------------+
|         10 |
+------------+

आखिरकार,

DEALLOCATE PREPARE stmt2;

टिप्पणियाँ:

  • आपको @variables का उपयोग करना चाहिए, FROM @s @ के लिए DECLAREd वेरिएबल का नहीं
  • तैयारी, आदि के लिए एक प्राथमिक उपयोग, उन परिस्थितियों के लिए एक क्वेरी का निर्माण करना है जहां बंधन काम नहीं करेगा, जैसे तालिका नाम सम्मिलित करना।

निर्माण और निष्पादन

(यह एक अच्छे उदाहरण के लिए एक अनुरोध है जो दिखाता है कि CONCAT का उपयोग करके एक SELECT का निर्माण कैसे SELECT , फिर इसे तैयार करें + निष्पादित करें। कृपया @variables बनाम DECLAREd चर के उपयोग पर जोर दें - यह एक बड़ा अंतर बनाता है, और यह कुछ है कि novices ( अपने आप को शामिल करें) ठोकर खाएं।)

जोड़ कॉलम के साथ अलर्ट तालिका

SET v_column_definition := CONCAT(
  v_column_name
  ,' ',v_column_type
  ,' ',v_column_options 
);

SET @stmt := CONCAT('ALTER TABLE ADD COLUMN ', v_column_definition);

PREPARE stmt FROM @stmt;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow