Parce que dans user_tables
les noms de table sont écrits en lettres majuscules et minuscules. Je suppose que vous avez créé ces tables en utilisant quelque chose comme
create table "Discount" ...
Généralement, Oracle enregistre les noms de table en majuscules et les noms de table sans quotas doubles sont recherchés en majuscules. Par conséquent, votre
select * from Discount
recherche une table nommée DISCOUNT et non Discount. Vous devez indiquer explicitement à Oracle que vous souhaitez conserver la casse des lettres de vos noms de table. Cela se fait également avec des quotas doubles. Alors
select * from "Discount"
devrait fonctionner.