我打算在存储过程中动态创建一个表,直接用sql语句创建,
create table t1;这样是可以的;
但是我用到存储过程中去,传一个字符串变量(是个输入参数):
比如 strName='t1'
create table strName;这样创建的表名称就是strName,而不是我给变量的赋值‘t1’;
请教高手,怎么实现我想要的功能??最好有代码,谢谢

解决方案 »

  1.   

    我只知道用预编译可以
    DECLARE STRNAME CHAR(64);
    SET STRNAME='CREATE TABLE AA';
    PREPARE stmt FROM @STRNAME;
    EXECUTE stmt;
    我想找其它的方式。
    比如 create table strName;怎么让MYSQL知道strName是变量,而不是表名??
    高手指点一下啊????
      

  2.   

    或者 select * from 表变量名;如何让系统取表变量名
    strName='t1';
    select * from @strName;??????
      

  3.   

    结帖了?一个多月过去了,都米有人回答
    偶自己写了一个 
    MYSQL 存储过程 循环建立字段相同滴多表 表名如: k1k k2k k3k ........ 及用参数传递表名
    地址
    http://www.alilaozi.com/bbs/viewthread.php?tid=75&extra=page%3D1