On Mon, 9 Mar 2015 17:59:33 +0100 Fabian Stumpf <fjstumpf at gmail.com> wrote:
> I am currently using > > ATTACH DATABASE ? AS ?; > to dynamically attach databases to a connection. > In some cases, the same physical database file is attached under > different names. > > This all seems to work perfectly, although the documentation for the > ATTACH statement specifies the name as type "database-name", not as > "expr", so I'm not sure if specifying a bind parameter is "legal". I don't have a definitive answer for you, just a way to think about it. Parameterized queries in general let you replace any data value (and not metadata). For instance, you can replace a column value, but not a column name. Using that as a guide, I'm a little suprised that ATTACH DATABASE ? AS ? works, because the second parameter is metadata. But I would expect ATTACH DATABASE ? AS db; to be valid. So IMO you've been lucky so far, but the filename is fair game for parameterization. --jkl