MySQL
पूर्व कथन
खोज…
वाक्य - विन्यास
- 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