|Do you know where your variables are?|
DBI - Table names & placeholdersby McDarren (Abbot)
|on Apr 24, 2010 at 04:48 UTC||Need Help??|
McDarren has asked for the
wisdom of the Perl Monks concerning the following question:
(I thought this might have been a FAQ, but it doesn't appear to be)
I'm aware that table names cannot be used with place holders. From the DBI docs - "With most drivers, placeholders can't be used for any element of a statement that would prevent the database server from validating the statement and creating a query execution plan for it."
In my particular situation, I have something like (contrived example):
Obviously, it would be nice if I could do:
But of course, that doesn't work.
One approach might be to come up with a better data base design, but unfortunately I'm dealing with legacy stuff that cannot be changed without causing copious amounts of grief and heartache ;)
I've thought about perhaps building a hash of SQL statements, using the table names as keys - but that feels really horrible.
So, how do others generally approach this?
If it matters, I'm dealing with both MySQL & PostgreSQL