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