Одним из лучших инструментов, которые вы можете использовать при разработке SQL, является достойный текстовый редактор с режимом редактирования столбцов. Для SQL Developer есть запрос на повышение, чтобы обеспечить это, но в то же время Notepad ++ - достойный выбор.
Для такой задачи вы можете получить имена столбцов по DESC таблицы или представления, добавить выровненные запятые, используя редактор на основе столбцов, и изменить один столбец, который вам нужен.
Это также удобно, если вам нужно, например, применить количество столбцов к большинству столбцов и добавить имя столбца.
В приведенном ниже примере заняло около 45 секунд:
select
OWNER ,
count(TABLE_NAME ) c_TABLE_NAME ,
count(TABLESPACE_NAME ) c_TABLESPACE_NAME ,
count(CLUSTER_NAME ) c_CLUSTER_NAME ,
count(IOT_NAME ) c_IOT_NAME ,
count(STATUS ) c_STATUS ,
count(PCT_FREE ) c_PCT_FREE ,
count(PCT_USED ) c_PCT_USED ,
count(INI_TRANS ) c_INI_TRANS ,
count(MAX_TRANS ) c_MAX_TRANS ,
count(INITIAL_EXTENT ) c_INITIAL_EXTENT ,
count(NEXT_EXTENT ) c_NEXT_EXTENT ,
count(MIN_EXTENTS ) c_MIN_EXTENTS ,
count(MAX_EXTENTS ) c_MAX_EXTENTS ,
count(PCT_INCREASE ) c_PCT_INCREASE ,
count(FREELISTS ) c_FREELISTS ,
count(FREELIST_GROUPS ) c_FREELIST_GROUPS ,
count(LOGGING ) c_LOGGING ,
count(BACKED_UP ) c_BACKED_UP ,
count(NUM_ROWS ) c_NUM_ROWS ,
count(BLOCKS ) c_BLOCKS ,
count(EMPTY_BLOCKS ) c_EMPTY_BLOCKS ,
count(AVG_SPACE ) c_AVG_SPACE ,
count(CHAIN_CNT ) c_CHAIN_CNT ,
count(AVG_ROW_LEN ) c_AVG_ROW_LEN ,
count(AVG_SPACE_FREELIST_BLOCKS) c_AVG_SPACE_FREELIST_BLOCKS ,
count(NUM_FREELIST_BLOCKS ) c_NUM_FREELIST_BLOCKS ,
count(DEGREE ) c_DEGREE ,
count(INSTANCES ) c_INSTANCES ,
count(CACHE ) c_CACHE ,
count(TABLE_LOCK ) c_TABLE_LOCK ,
count(SAMPLE_SIZE ) c_SAMPLE_SIZE ,
count(LAST_ANALYZED ) c_LAST_ANALYZED ,
count(PARTITIONED ) c_PARTITIONED ,
count(IOT_TYPE ) c_IOT_TYPE ,
count(TEMPORARY ) c_TEMPORARY ,
count(SECONDARY ) c_SECONDARY ,
count(NESTED ) c_NESTED ,
count(BUFFER_POOL ) c_BUFFER_POOL ,
count(ROW_MOVEMENT ) c_ROW_MOVEMENT ,
count(GLOBAL_STATS ) c_GLOBAL_STATS ,
count(USER_STATS ) c_USER_STATS ,
count(DURATION ) c_DURATION ,
count(SKIP_CORRUPT ) c_SKIP_CORRUPT ,
count(MONITORING ) c_MONITORING ,
count(CLUSTER_OWNER ) c_CLUSTER_OWNER ,
count(DEPENDENCIES ) c_DEPENDENCIES ,
count(COMPRESSION ) c_COMPRESSION ,
count(DROPPED ) c_DROPPED
from dba_tables
group by owner
Если есть разумный способ, может сделать процедуру «деление 20-го поля на 100» в другом месте, вероятно, вам нужно. – zebediah49
Вы заботитесь о сохранении порядка столбцов? –
@Bo. Нет, мне не нужно сохранять заказ. – chemicalkt