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