Anstatt ihre Abfrage zu ändern, lassen Sie sie einfach immer über eine Ansicht auf die Daten verweisen. Sie haben überhaupt keine Rechte an der realen Tabelle, über der die Ansicht erstellt wird. Sie erstellen diese Ansicht mit
Create View tablenametheyuse as select * from realtable with id = 'user'
und geben Sie diesem Benutzer nur die Berechtigung zu seiner Ansicht.
Sie codieren jetzt ihre ausgewählten Anweisungen beliebig über die Ansicht.