यह संभव नहीं है जैसा कि गतिशील एसक्यूएल/तैयार वक्तव्य के साथ वर्णित है। यह Error Code: 1336. Dynamic SQL is not allowed in stored function or trigger
यहां तक कि CREATE TRIGGER
. के प्रयास पर भी ।
ऑटोमेशन के सबसे करीब आप CREATE EVENT
. का उपयोग कर सकते हैं . ईवेंट शेड्यूल किए गए संग्रहीत प्रोग्राम हैं जो आपकी पसंद के शेड्यूल/अंतराल पर चलते हैं। अंतराल हैं:
आप एक पंक्ति पर बोलने के लिए "ध्वज" सेट कर सकते हैं, जैसे कि जिस तालिका को आप ऊपर चित्रित कर रहे हैं उसमें सम्मिलित करने के बाद ट्रिगर है। इवेंट तब तैयार स्टेटमेंट<को निष्पादित कर सकता है /ए> गतिशील रूप से और इसे निष्पादित करें।
मेरा जवाब यहां इवेंट मैनेजमेंट पर देखें। ।
मेरा कहना है कि भले ही किसी कार्यक्रम में दौड़ें, जो आप प्रस्तावित कर रहे हैं वह लगभग हमेशा है एक खराब स्कीमा डिज़ाइन का संकेत जो सहकर्मी समीक्षा के लिए अच्छा नहीं होगा।
डायनेमिक sql और तैयार Stmt को अस्वीकृत करने का एक कारण यह है कि ट्रिगर को तेज़ होने की आवश्यकता है, और यहां तक कि DDL को स्ट्रिंग में फंसाया जा सकता है और निष्पादित किया जा सकता है। और DDL stmts जैसे ALTER TABLE
ट्रिगर में अस्वीकृत हैं (उन्हें सचमुच चलने में घंटों लग सकते हैं)।
आपकी स्कीमा में एक कॉलम ven_code
. के साथ साझा की गई एक तालिका भी हो सकती है विभेदक स्तंभ होने के नाते। इसके बजाय आपने प्रत्येक ven_code
. के लिए नई तालिकाएं बनाना चुना है . यह आमतौर पर एक खराब डिज़ाइन और प्रदर्शन विकल्प है।
यदि आपको स्कीमा डिज़ाइन में सहायता चाहिए, तो मुझे आपके साथ चैट रूम में इसके बारे में बात करने में प्रसन्नता हो रही है।