Zamiast modyfikować zapytanie, po prostu zawsze odwołuj się do danych za pomocą widoku. Nie mają żadnych praw do rzeczywistej tabeli, nad którą tworzony jest widok. Tworzysz ten widok za pomocą
Create View tablenametheyuse as select * from realtable with id = 'user'
i nadaj tylko temu użytkownikowi uprawnienia do jego widoku.
Teraz kodują swoje instrukcje select w dowolny sposób w widoku.