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