मुझे लगता है कि सादे एसक्यूएल के साथ आप आसानी से जो सबसे अच्छा कर सकते हैं, वह यह है कि आप जो क्वेरी चाहते हैं उसे उत्पन्न करने के लिए इस तरह की एक क्वेरी चलाएं, और फिर उसे चलाएं।
select 'select count(distinct '
|| listagg(column_name || ') as ' || column_name, ', count(distinct ') within group (order by column_id)
|| ' from ' || max(table_name) || ';' as script
from all_tab_cols
where table_name = 'MYTABLE';