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

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to