在下面再声明一个:
  PREPARE stmt2 FROM @ZXDZS;
           EXECUTE stmt2; 

解决方案 »

  1.   

    还 是不行啊
    是这样??
    PREPARE stmt FROM @ZXDZS;
                EXECUTE stmt; --执行函数后得到一个插入语句insert into aa;
                PREPARE stmt2 FROM @ZXDZS;
                EXECUTE stmt2; 
                DEALLOCATE PREPARE stmt;
      

  2.   

    还 是不行啊
    是这样??
    PREPARE stmt FROM @ZXDZS;
                EXECUTE stmt; --执行函数后得到一个插入语句insert into aa;
                PREPARE stmt2 FROM @ZXDZS;
                EXECUTE stmt2; 
                DEALLOCATE PREPARE stmt;嗯,你试试看。
      

  3.   

    不行,原本语句是这样的
    SET ZXDZS = CONCAT('SELECT PL',CR_INVKNAME,'VLINK(\'',V_SBTYPE,'\'',',','\'',CR_GRADE,'\'',',','\'',CR_OPERATWAY,'\'',',','\'',CR_ISRNAME,'\'',',','\'',CR_PRMT,'\'',',','\'',CR_PRMC,'\'',');');
    会拼接成一个动态的调用函数的sql语句
    然后执行,又返回一个插入语句。且又需要立即执行这个插入语句
    不知道怎么搞
      

  4.   

    还 是不行啊
    是这样??
    PREPARE stmt FROM @ZXDZS;
                EXECUTE stmt; --执行函数后得到一个插入语句insert into aa;
                PREPARE stmt2 FROM @ZXDZS;
                EXECUTE stmt2; 
                DEALLOCATE PREPARE stmt;嗯,你试试看。
    试过了,还是原来的效果
      

  5.   

    还 是不行啊
    是这样??
    PREPARE stmt FROM @ZXDZS;
                EXECUTE stmt; --执行函数后得到一个插入语句insert into aa;
                PREPARE stmt2 FROM @ZXDZS;
                EXECUTE stmt2; 
                DEALLOCATE PREPARE stmt;嗯,你试试看。
    试过了,还是原来的效果PREPARE stmt FROM @ZXDZS;
                EXECUTE stmt; --执行函数后得到一个插入语句insert into aa;
                DEALLOCATE PREPARE stmt;            PREPARE stmt2 FROM @ZXDZS;
                EXECUTE stmt2; 
                DEALLOCATE PREPARE stmt2;你再试试看。
      

  6.   

    还 是不行啊
    是这样??
    PREPARE stmt FROM @ZXDZS;
                EXECUTE stmt; --执行函数后得到一个插入语句insert into aa;
                PREPARE stmt2 FROM @ZXDZS;
                EXECUTE stmt2; 
                DEALLOCATE PREPARE stmt;嗯,你试试看。
    试过了,还是原来的效果PREPARE stmt FROM @ZXDZS;
                EXECUTE stmt; --执行函数后得到一个插入语句insert into aa;
                DEALLOCATE PREPARE stmt;            PREPARE stmt2 FROM @ZXDZS;
                EXECUTE stmt2; 
                DEALLOCATE PREPARE stmt2;你再试试看。

    不行 哦,还是会返回一堆插入语句,但不执行插入
      

  7.   

    请问一下这个问题解决了吗,我也碰到类似的问题!
    CREATE TEMPORARY TABLE IF NOT EXISTS tmp201412270843(id INT PRIMARY KEY AUTO_INCREMENT,namee VARCHAR(1000));
    SET @sqltxt='insert into tmp201412270843(namee)values(\'wangxiaoxuan\');SELECT * FROM tmp201412270843;';
    PREPARE mysql FROM @sqltxt;EXECUTE mysql;这个要是一次执行会报语法错误!请高手指点!