Why SELECT * is not preferred in embedded SQL programs ?
For three reason:
If the table structure is changed ( a field is added ), the program will have to be modified . Program might retrieve the column which it might not use, leading on I/O over head.
The chance of an index only scan is lost.