MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

SHOW CREATE TABLEを実行するためのMySQLストアドプロシージャ?


ストアード・プロシージャーでSHOW CREATE TABLEを実行するには、SHOWCREATETABLEを使用します。まずテーブルを作成しましょう-

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)

以下は、SHOW CREATETABLE-

を実行するストアドプロシージャです。
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 ;

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)

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

  1. MySQL Workbenchを使用してストアドプロシージャを作成しますか?

    まず、ストアドプロシージャを作成しましょう。以下は、MySQLWorkbenchを使用してストアドプロシージャを作成するためのクエリです。 use business; DELIMITER // DROP PROCEDURE IF EXISTS SP_GETMESSAGE; CREATE PROCEDURE SP_GETMESSAGE() BEGIN DECLARE MESSAGE VARCHAR(100); SET MESSAGE="HELLO"; SELECT CONCAT(MESSAGE,' ','MYSQL!!!!'); END //

  2. MySQLストアドプロシージャのテーブルにデータを挿入しますか?

    ストアドプロシージャのテーブルに挿入するための構文は次のとおりです- create procedure yourProcedureName(OptionalParameter)    begin    insert into yourTableName() values(yourValue1,yourValue2,...N); end 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table DemoTable1928    (    Id int NOT NUL