在存储过程中传递参数然后以参数为表名创建表的方式有时候非常有用,
这样能够创建表结构相同但表名不同的表,在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');
本文介绍了一种在MySQL中利用存储过程创建表的方法。通过定义一个名为create_table的过程,接收表名作为参数,并使用动态SQL语句来创建指定名称的表。
1万+

被折叠的 条评论
为什么被折叠?



