Det kan vi ikke. Vi skal skrive alle kolonnerne og deres individuelle NVL()-funktioner. Jeg ved, at det virker som en stor indsats, men overvej, hvad der ville ske, hvis nogen af dine kolonner er en DATE eller en anden "eksotisk" datatype.
Hvis du har mange kolonner, og du virkelig vil spare kræfter, kan du generere klausulerne fra dataordbogen:
select 'nvl('|| column_name || ', 0)'
from user_tab_columns
where table_name = 'STUDENT'
order by column_id;
Klip og indsæt resultatsættet i en editor.
Når du først starter på denne rute, er det nemt at blive mere sofistikeret:
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;