Когда я выполняю sql оператор, который предположил для возврата, требуют одну строку, sqlplus печатают имена столбцов многие много раз? почему?
Вероятно, потому что размер страницы намного меньше, чем количество строк, необходимых для отображения данных, из-за обертывания. Он повторяет заголовок на каждой "странице" вывода, даже если он не завершил отображение ни одной строки.
Для просмотра/копирования/вставки всего вывода целиком, попробуйте SET PAGESIZE 10000
(или другое большое число).
Для просмотра вывода в консоли вы, вероятно, захотите установить его на высоту окна консоли (вы угадали - реальный "размер страницы"). Таким образом, вы увидите ровно один набор заголовков, в каком бы месте вывода вы ни находились - именно это и является целью данного оператора.
Близко связанная команда - SET LINESIZE
- ширина вывода.
Из-за его конфигурации. Вы можете задать поведение sqlplus через SET: