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

पीडीओ के साथ PHP में DELIMITER युक्त संग्रहीत कार्यविधि कैसे बनाएं?

टिप्पणियों से:

ऐसा नहीं है कि यह कैसे काम करता है।

यह समझने के लिए, आपको यह समझने की आवश्यकता है कि mysql . कैसे सीएलआई - और कोई अन्य प्रोग्राम जो इस तरह डंप फ़ाइल को पढ़ और निष्पादित कर सकता है - वास्तव में इसे संभालता है।

DELIMITER ऐसा कुछ नहीं है जिसे सर्वर समझता है।

DELIMITER क्लाइंट-साइड पार्सर . को बताने के लिए प्रयोग किया जाता है वर्तमान स्टेटमेंट डिलीमीटर क्या होना चाहिए, ताकि क्लाइंट-साइड पार्सर स्टेटमेंट को सही ढंग से विभाजित कर सके और निष्पादन के लिए सर्वर पर एक बार में एक डिलीवर कर सके।

डॉक्स से। ध्यान से नोट करें कि mysql , हर बार इसका उपयोग यहां किया जाता है, mysql . को संदर्भित करता है ग्राहक उपयोगिता -- सर्वर नहीं।

तो, ऐसी फ़ाइल को संभालने के लिए, आपको क्लाइंट-साइड पार्सर की आवश्यकता होती है जो वही काम करता है mysql करता है... और यहां, आप जो कोड लिख रहे हैं वह है (होने की जरूरत है) क्लाइंट-साइड स्टेटमेंट पार्सर। तो आप ही हैं जिन्हें सीमांकक को संभालने के लिए तर्क लिखने की आवश्यकता है।

आप जो चाहते हैं उसे करने के लिए, आपको DELIMITER . की व्याख्या करनी होगी स्टेटमेंट, वर्तमान स्टेटमेंट डिलीमीटर का ट्रैक रखने के लिए उनका उपयोग करें, लेकिन उन्हें सर्वर पर न भेजें।

फिर, आपको एक बार में इनपुट एक लाइन को पढ़ना होगा, जो आपने पढ़ा है उसे बफर करना, जब तक कि आपको लाइन के अंत में निर्दिष्ट डिलीमीटर नहीं मिल जाता है, और परिणामी स्टेटमेंट सर्वर को भेजना होता है - छोड़कर आप जो भेजते हैं उससे वास्तविक विवरण सीमांकक... इसलिए, उदाहरण के लिए, आप अंतिम $$ नहीं भेजेंगे प्रक्रिया निकाय के बाद (जब तक कि वर्तमान विवरण सीमांकक ; . है , जिसे आप या तो भेज सकते हैं या नहीं भेज सकते हैं -- सर्वर परवाह नहीं करता है।) फिर बफ़र खाली करें और फिर से पढ़ना शुरू करें जब तक कि आप एक सीमांकक का एक और उदाहरण नहीं देखते (और सर्वर को स्टेटमेंट भेजें) या एक 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. PHP में 0 से तुलना करना कितना अच्छा है?

  2. MySQL से LONGBLOB कैसे पढ़ें

  3. सभी विकल्प मानों का चयन करें php mysql

  4. स्तंभों की चर संख्या के साथ SQL डेटाबेस

  5. खंड द्वारा क्रम में दो स्तंभों के योग की गणना करें - लार्वा