According to the MySQL manual, "By default, a routine is associated with
the default database.When the routine is invoked, an implicit USE
db_name is performed (and undone when the routine terminates)"
However, when I tried accessing a stored routine from another database,
I received an error. Output below:
mysql> USE test
mysql> DELIMITER //
mysql> CREATE FUNCTION get_area(radius INT)
-> RETURNS FLOAT
-> RETURN PI() * radius * radius;
Query OK, 0 rows affected (0.13 sec)
mysql> DELIMITER ;
mysql> USE test2
mysql> select get_area(11);
ERROR 1305 (42000): FUNCTION test2.get_area does not exist
Can someone tell me what I'm doing wrong? Thanks.