Refer this link first it is useful:-
http://forums.databasejournal.com/showthread.php?36588-Passing-database-name-to-a-stored-procedure[
^]
you can try like this-
set quoted_identifier off
go
Create procedure usp_accessdb @dbname1 varchar(128),@dbname2 varchar(128),@schoolName varchar(100)
as
declare @query varchar(1000)
set @query = "SELECT pp.title, pp.surname,pp.firstname,pp.phone,pp.emai,rcd.reg_code,pp.genCode
FROM @dbname1.dbo.primaryparent pp
LEFT JOIN @dbname2.dbo.registration_codes rcd ON pp.genCode = rcd.reg_code
WHERE rcd.name = @schoolName "
exec (@query)
go