IN
e OUT
parâmetros (incluindo colunas em RETURNS TABLE
) são visíveis dentro de cada comando SQL no corpo de uma função plpgsql. Se você tiver colunas com o mesmo nome em sua consulta, será necessário qualificá-las em tabela para torná-la inequívoca. No seu caso, o nome da tabela faria:
... RETURNING "UserProfile"."UserProfileId" INTO _UserProfileId;
Detalhes no manual aqui.
Relacionado:
- Como retornar o resultado de um SELECT dentro de uma função no PostgreSQL?
- Conflito de nomenclatura entre parâmetro de função e resultado de JOIN com cláusula USING