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.

Buat prosedur tersimpan MySQL yang mengambil nama pangkalan data sebagai parameter dan menyenaraikan jadual yang mengandungi maklumat terperinci dalam pangkalan data tertentu.

王林
Lepaskan: 2023-09-10 12:21:07
ke hadapan
1224 orang telah melayarinya

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan