begin
declare v_column int; set @sql=concat("select ",p_columnName," into ",v_column," from 表名");
prepare stmt1 from @sql;
execute stmt1;
deallocate prepare stmt1;
        set p_out=v_column;
end我想动态查找表中一个字段中的数据并返回给p_out,其中p_columnName是输入参数,代表字段名,p_out是输出参数,但运行时提示第四行有语法错误,把v_column放到引号里面运行又提示v_column没定义,该怎么做啊

解决方案 »

  1.   

    set @sql=concat("select ",p_columnName," into @v_column from 表名");
    prepare stmt1 from @sql;
    execute stmt1;
    deallocate prepare stmt1;
            set p_out=@v_column;
    end
      

  2.   

    这样改后还是提示这条语句set @sql=concat("select ",p_columnName," into @v_column from 表名");有语法错误啊 
      

  3.   

    print @sql看看这个语句可以执行吗