You're setting your variable to 'SELECT MAX(CODIGO) FROM SGCTCENTRAL.DBO.SINCRONISMO' and that is a string value. You need to use dynamic code by using sp_executesql (preferred method) or EXECUTE().
If your query is as simple as this, you don't need to use the @TESTE variable. You could execute the SELECT directly.