You will need to use Dynamic sql for this ...
DECLARE @SourceDB NVARCHAR(128), @Sql NVARCHAR(MAX);
SET @SourceDB = 'DatabaseName';
SET @Sql = N'INSERT INTO CompletedScope
( uidInstanceID ,
completedScopeID ,
state ,
modified
)
SELECT uidInstanceID ,
completedScopeID ,
state ,
modified
FROM ' + QUOTENAME(@SourceDB) + '.[dbo].CompletedScope;'
EXECUTE sp_executesql @Sql
Use QUOTENAME()
function when concatenating variables to your sql , protects you against Sql Injection attacks.