Mysql 要生成以表名和表数据作为输入参数的存储过程吗

Mysql 要生成以表名和表数据作为输入参数的存储过程吗,mysql,Mysql,创建sp_插入 @表名varchar(20), @表数据udtAdminType 设置@var='' @var='Insert-into'+@tablename+'值(列名1、列名2、列名3)值'+@tablendata exec(@var) 我的表格是动态的,因此我无法插入数据,也无法将表格存储在变量中。请尝试以下操作: CREATE PROCEDURE sp_insert( @tablename varchar(20), @tabledata TEXT) BEGIN SET @

创建sp_插入 @表名varchar(20), @表数据udtAdminType

设置@var='' @var='Insert-into'+@tablename+'值(列名1、列名2、列名3)值'+@tablendata

exec(@var)

我的表格是动态的,因此我无法插入数据,也无法将表格存储在变量中。请尝试以下操作:

CREATE PROCEDURE sp_insert( @tablename varchar(20), @tabledata TEXT)
BEGIN  

    SET @s = CONCAT('INSERT INTO ',@tablename ,' (column name 1,column name 2,column name 3) VALUES (',@tabledata,')');   
 PREPARE stmt from @s;   
 EXECUTE stmt;   

END;

你有问题吗?您的“问题”是用mysql标记的,但您所显示的更像SQL Server语法,而不是mysql语法。(在MySQL中,过程参数和变量名不以
@
字符开头,字符串连接是使用CONCAT函数,而不是
+
运算符,
exec
不是有效的MySQL函数,等等。