想要将表名和表数据作为输入参数进行存储过程

时间:2014-10-11 05:58:37

标签: mysql

创建sp_insert @tablename varchar(20), @tabledata udtAdminType

设置@var ='' @var ='插入' + @ tablename +'值(列名1,列名2,列名3)值' + @ tabledata

EXEC(@var)

我的表是动态的,所以我无法插入数据而且它不允许我将表存储在变量中

1 个答案:

答案 0 :(得分:0)

尝试以下:

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;