MySQL数据库中 如何在存储过程中通过传递的参数创建表

来源:互联网 发布:什么是雅思网络课程 编辑:程序博客网 时间:2024/06/05 00:28

在存储过程中传递参数然后以参数为表名创建表的方式有时候非常有用,

这样能够创建表结构相同但表名不同的表,在MySQL中如何实现呢?

以下示例演示了如何通过存储过程中的参数创建表:

CREATE PROCEDURE create_table(IN tb_name VARCHAR(20))

BEGIN

SET @sqlcmd = CONCAT('CREATE TABLE ',tb_name,'(id INT UNSIGNED NOT NULL PRIMARY KEY,name VARCHAR(20) NULL)');

PREPARE temp FROM sqlcmd;

EXECUTE temp;

DEALLOCATE PREPARE temp;

END;


之后就可以通过存储过程创建表了

CALL create_table('tdb_student');