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