参数为表名(要创建的表),已有表名(已有表);
功能是创建一个和已有表结构相同并且数据一样的新表。
思路:
拼接create tablename as ddl语句创建表的sql语句;
使用execute immediate执行sql语句;
代码如下
delimiter &&
create procedure copy_demo()
begin
CREATE TABLE demo(
`id` INT UNSIGNED AUTO_INCREMENT,
`title` VARCHAR(100) NOT NULL
);
execute immediate select count(1) from emp
into demo2;
end &&
delimiter ;
call copy_demo();
我上面创建了一个demo表,我需要新创建一个demo2表并且将demo的结构与内容复制到demo2表