Computer >> Máy Tính >  >> Lập trình >> MySQL

Thủ tục lưu trữ MySQL để thực thi SHOW CREATE TABLE?

Để thực hiện SHOW CREATE TABLE trong một thủ tục được lưu trữ, hãy sử dụng SHOW CREATE TABLE. Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable2011
   -> (
   -> StudentId int NOT NULL AUTO_INCREMENT,
   -> StudentName varchar(20),
   -> StudentAge int,
   -> StudentCountryName varchar(20),
   -> PRIMARY KEY(StudentId)
   -> );
Query OK, 0 rows affected (0.80 sec)

Sau đây là thủ tục được lưu trữ thực thi SHOW CREATE TABLE -

mysql> delimiter //
mysql> create procedure test_show_create_demo(table_name varchar(100))
   -> begin
   -> set @query=concat("SHOW CREATE TABLE ",table_name);
   -> prepare st from @query;
   -> execute st;
   -> end
   -> //
Query OK, 0 rows affected (0.22 sec)

mysql> delimiter ;

Gọi thủ tục đã lưu trữ bằng lệnh CALL -

mysql> call test_show_create_demo('DemoTable2011');

Điều này sẽ tạo ra kết quả sau -

+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table
|
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| DemoTable2011 | CREATE TABLE `demotable2011` (
   `StudentId` int(11) NOT NULL AUTO_INCREMENT,
   `StudentName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
   `StudentAge` int(11) DEFAULT NULL,
   `StudentCountryName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
   PRIMARY KEY (`StudentId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

Query OK, 0 rows affected, 1 warning (0.06 sec)