The best solution is to drop drop and recreate the view, but automatic solution could be:
Create a Procedure that:
__ via execute immediate "drop" the current view
__ via execute immediate recreate the table with the new year
Create a job (schedule) that runs around 00:00 every day 01/01 and run this SP
Another solution would be:
Create a synonym for the usina2016 table, something like
usinaccurente for usina2016 the view would be created over the synonym
Create a Procedure that:
__ via execute immediate "drope" the current synonym
__ via execute immediate recreate the synonym with the new year
Create a job (schedule) that runs around 00:00 every day 01/01 and run this SP
But I prefer the manual solution, recite the view "on hand"