No podemos hacer eso. Necesitamos escribir todas las columnas y sus funciones NVL() individuales. Sé que parece mucho esfuerzo, pero considere lo que sucedería si alguna de sus columnas es una FECHA o algún otro tipo de datos "exótico".
Si tiene muchas columnas y realmente desea ahorrar esfuerzo, puede generar las cláusulas del diccionario de datos:
select 'nvl('|| column_name || ', 0)'
from user_tab_columns
where table_name = 'STUDENT'
order by column_id;
Corta y pega el conjunto de resultados en un editor.
Una vez que comienzas en esta ruta, es fácil volverse más sofisticado:
select case when column_id > 1 then ',' end ||
'nvl('|| column_name || ',' ||
case when data_type = 'DATE' then 'sysdate'
when data_type = 'VARCHAR2' then '''DEF'''
else '0' end ||
')'
from user_tab_columns
where table_name = 'STUDENT'
order by column_id;