मान लीजिए कि वर्तमान में हम 'क्वेरी' नाम के डेटाबेस का उपयोग कर रहे हैं और इसमें निम्नलिखित टेबल हैं -
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)