কম্পিউটার

একটি MySQL সঞ্চিত পদ্ধতি তৈরি করুন, যা ডাটাবেসের নামটি তার প্যারামিটার হিসাবে নেয়, একটি নির্দিষ্ট ডাটাবেসে বিস্তারিত তথ্য সহ টেবিলগুলি তালিকাভুক্ত করতে।


ধরুন আমরা বর্তমানে 'query' নামে একটি ডাটাবেস ব্যবহার করছি এবং এতে নিম্নলিখিত টেবিল রয়েছে -

mysql> Show tables in query;
+-----------------+
| Tables_in_query |
+-----------------+
| student_detail  |
| student_info    |
+-----------------+
2 rows in set (0.00 sec)

এখন, নিম্নলিখিত একটি সংরক্ষিত পদ্ধতি, যা ডাটাবেসের নামটিকে এর প্যারামিটার হিসাবে গ্রহণ করবে এবং আমাদের বিস্তারিত তথ্য সহ টেবিলের তালিকা দেবে -

mysql> DELIMITER//
mysql> CREATE procedure tb_list(db_name varchar(40))
   -> BEGIN
   -> SET @z := CONCAT('Select * from information_schema.tables WHERE table_schema = ','\'',db_name,'\'');
   -> Prepare stmt from @z;
   -> EXECUTE stmt;
   -> END //
Query OK, 0 rows affected (0.06 sec)

এখন ডাটাবেসের প্যারামিটার হিসাবে নাম প্রদান করে এই সঞ্চিত পদ্ধতিটি চালু করুন −

mysql> DELIMITER;
mysql> CALL tb_list('query')\G
*************************** 1. row ***************************
        TABLE_CATALOG: def
         TABLE_SCHEMA: query
           TABLE_NAME: student_detail
           TABLE_TYPE: BASE TABLE
               ENGINE: InnoDB
              VERSION: 10
           ROW_FORMAT: Dynamic
           TABLE_ROWS: 4
       AVG_ROW_LENGTH: 4096
          DATA_LENGTH: 16384
      MAX_DATA_LENGTH: 0
         INDEX_LENGTH: 0
            DATA_FREE: 0
       AUTO_INCREMENT: NULL
          CREATE_TIME: 2017-12-13 16:25:44
          UPDATE_TIME: NULL
           CHECK_TIME: NULL
      TABLE_COLLATION: latin1_swedish_ci
             CHECKSUM: NULL
       CREATE_OPTIONS:
        TABLE_COMMENT:
*************************** 2. row ***************************
        TABLE_CATALOG: def
         TABLE_SCHEMA: query
           TABLE_NAME: student_info
           TABLE_TYPE: BASE TABLE
               ENGINE: InnoDB
              VERSION: 10
           ROW_FORMAT: Dynamic
           TABLE_ROWS: 4
       AVG_ROW_LENGTH: 4096
          DATA_LENGTH: 16384
      MAX_DATA_LENGTH: 0
         INDEX_LENGTH: 0
            DATA_FREE: 0
       AUTO_INCREMENT: NULL
          CREATE_TIME: 2017-12-12 09:52:51
          UPDATE_TIME: NULL
           CHECK_TIME: NULL
      TABLE_COLLATION: latin1_swedish_ci
             CHECKSUM: NULL
       CREATE_OPTIONS:
        TABLE_COMMENT:
2 rows in set (0.00 sec)

  1. কিভাবে আমরা একটি নির্দিষ্ট MySQL ডাটাবেসে সংরক্ষিত ভিউ তালিকা দেখতে পারি?

  2. MySQL-এ ডিলিমিটার সহ একটি সঞ্চিত পদ্ধতি তৈরি করুন

  3. পরামিতি সহ MySQL এ একটি পদ্ধতি তৈরি করবেন?

  4. একটি MySQL সঞ্চিত পদ্ধতিতে প্রয়োগ করা একটি প্রশ্ন থেকে ডাটাবেসের নাম পান?