要在存储过程中执行SHOW CREATE TABLE,请使用SHOW CREATE TABLE。让我们首先创建一个表-
mysql> create table DemoTable2011 -> ( -> StudentId int NOT NULL AUTO_INCREMENT, -> StudentName varchar(20), -> StudentAge int, -> StudentCountryName varchar(20), -> PRIMARY KEY(StudentId) -> );
以下是执行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
-> //
mysql> delimiter ;使用CALL命令调用存储过程-
mysql> call test_show_create_demo('DemoTable2011');这将产生以下输出-
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 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)