Showtablesinquery;+-----------------+|Tables_in_query|+------ ------------+|butiran_pelajar ||maklumat_pelajar |+------------------+2rowsinset(0.00sec)Sekarang, berikut ialah stored procedure , yang akan menerima nama pangkalan data sebagai hujahnya dan memberikan kami"/> Showtablesinquery;+-----------------+|Tables_in_query|+------ ------------+|butiran_pelajar ||maklumat_pelajar |+------------------+2rowsinset(0.00sec)Sekarang, berikut ialah stored procedure , yang akan menerima nama pangkalan data sebagai hujahnya dan memberikan kami">
Rumah >pangkalan data >tutorial mysql >Buat prosedur tersimpan MySQL yang mengambil nama pangkalan data sebagai parameter dan menyenaraikan jadual yang mengandungi maklumat terperinci dalam pangkalan data tertentu.
Katakan pada masa ini kita menggunakan pangkalan data bernama "query" yang mengandungi jadual berikut -
mysql> Show tables in query; +-----------------+ | Tables_in_query | +-----------------+ | student_detail | | student_info | +-----------------+ 2 rows in set (0.00 sec)
Sekarang, berikut ialah prosedur tersimpan yang akan menerima nama pangkalan data sebagai parameternya dan memberikan kami senarai jadual dengan butiran -
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)
Sekarang panggil prosedur tersimpan ini dengan memberikan nama pangkalan data sebagai parameternya -# 🎜🎜#
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)
Atas ialah kandungan terperinci Buat prosedur tersimpan MySQL yang mengambil nama pangkalan data sebagai parameter dan menyenaraikan jadual yang mengandungi maklumat terperinci dalam pangkalan data tertentu.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!