Thanks for your fast reply.

Do you know MySQL will support  this feature in the future?

On Sun, Feb 15, 2009 at 12:59 AM, Baron Schwartz <ba...@xaprb.com> wrote:

> Hello,
>
> On Sat, Feb 14, 2009 at 11:15 AM, Moon's Father
> <yueliangdao0...@gmail.com> wrote:
> > Here is my routine.
> > DELIMITER $$
> >
> > CREATE
> >    PROCEDURE `t_girl`.`sp_join2`()
> >    BEGIN
> >    set @a = 'a';
> >    set @b = 'g';
> >    set @stmt = concat('select * from ?,? where a.id = g.id');
> >    prepare s1 from @stmt;
> >    execute s1;
> >    drop prepare s1;
> >    END$$
> >
> > DELIMITER ;
> >
> > But it didn't work for me.
> > So what I want to know is how to table name when there're a placeholder
> > within sproc.
>
> You can't use placeholders for identifiers, only for literal values.
> So you will need to use CONCAT() to build the string with the
> identifiers already in it, before you PREPARE.
>
>
> --
> Baron Schwartz, Director of Consulting, Percona Inc.
> Our Blog: http://www.mysqlperformanceblog.com/
> Our Services: http://www.percona.com/services.html
>



-- 
I'm a MySQL DBA in china.
More about me just visit here:
http://yueliangdao0608.cublog.cn

Reply via email to