[英]Mysql Stored procedure to create table
请回答
我想在存储过程中创建一个表但是表名存储在一个变量中。 例子
create procedure ABC
(
@tablename. // is a parameter in which table
name is stored
)
AS
BEGIN
Create table @tablename
(
Colmn one....
Colmn. two...
...............
)
End
但错误显示在哪里
表@tablename
问)我该如何解决这个问题
我想设置一个存储在变量@tablename 中的表名
你不能那样做,你需要准备好的陈述
DROP procedure IF EXISTS `ABC`;
DELIMITER $$
CREATE DEFINER=`root`@`%` PROCEDURE `ABC`(
IN _tablename VARCHAR(50) -- is a parameter in which table
-- name is stored
)
BEGIN
SET @sql = CONCAT('
Create table ',_tablename,'
(
Colmn1 INT,
Colmn2 INT
);');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
End$$
DELIMITER ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.