Showtablesinquery;+-----------------+|Tables_in_query|+----- ------------+|student_detail ||student_info |+-----------------+2rowsinset(0.00sec)Maintenant, ce qui suit est un fichier stocké procédure , qui acceptera le nom de la base de données comme argument et nous fournira le"/> Showtablesinquery;+-----------------+|Tables_in_query|+----- ------------+|student_detail ||student_info |+-----------------+2rowsinset(0.00sec)Maintenant, ce qui suit est un fichier stocké procédure , qui acceptera le nom de la base de données comme argument et nous fournira le">
Maison > Article > base de données > Créez une procédure stockée MySQL qui prend le nom de la base de données comme paramètre et répertorie les tables d'une base de données spécifique contenant des informations détaillées.
Supposons que nous utilisions actuellement une base de données appelée "query" qui contient le tableau suivant -
mysql> Show tables in query; +-----------------+ | Tables_in_query | +-----------------+ | student_detail | | student_info | +-----------------+ 2 rows in set (0.00 sec)
Maintenant, ci-dessous se trouve une procédure stockée qui acceptera le nom de la base de données comme paramètre et nous fournira les détails du tableau liste d'informations -
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)
Appelez maintenant cette procédure stockée en fournissant le nom de la base de données comme paramètre -
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)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!