Rory, Martin>>CREATE STORED PROCEDURE testStoredProc (IN test_db_name CHAR) >>BEGIN >>SELECT * FROM test_db_name.test_table; >>END; MySQL does not resolve test_db_name to the value passed in the parameter, and the query fails because there is no database with that name. Is there any way around this? >No.Yes: DELIMITER | CREATE PROCEDURE testStoredProc( IN test_db_name CHAR(64) ) BEGIN SET @sql = CONCAT( "SELECT * FROM ", test_db_name, ".test_table" ); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; END; | DELIMITER ; PB ----- Martijn Tonies wrote: I have tried dynamically assigning a database name to a stored proc via its parameter list: CREATE STORED PROCEDURE testStoredProc (IN test_db_name CHAR) BEGIN SELECT * FROM test_db_name.test_table; END; MySQL does not resolve test_db_name to the value passed in the parameter, and the query fails because there is no database with thatname.Is there any way around this?No. Martijn Tonies Database Workbench - tool for InterBase, Firebird, MySQL, Oracle & MS SQL Server Upscene Productions http://www.upscene.com Database development questions? Check the forum! http://www.databasedevelopmentforum.com |
No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.375 / Virus Database: 267.15.6/257 - Release Date: 2/10/2006
-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]