Claro lo mas problable es que ese filtro final que le pones
Código SQL:
Ver originalWHERE TABLE_NAME=tabla AND privilege=privilegio
te este dando como resultado no un dato sino toda una lista de datos, cosa imposible de ejecutar.
Ejecuta la subconsulta y veras que no te devuelve un registro sino muchos.
Código SQL:
Ver originalSELECT grantee
FROM dba_tab_privs
WHERE TABLE_NAME=tabla AND privilege=privilegio