for crossdatabase stuff inside a procedure , you only got two choices;
1: can you adapt the specific script to use 3 part names?
you know, SELECT * FROM Production.dbo.Invoices
or
2: switch to dynamic SQL and EXEC a string: multiple commands are simply semi-colon delimited.
DECLARE @isql VARCHAR(1000)
SET @isql = 'USE SandBox; SELECT * FROM dbo.Invoices; SELECT @@version;'
EXEC(@isql)
Lowell