Как добавить столбец в таблицу и отобразить его в качестве первого столбца - PullRequest
0 голосов
/ 03 мая 2019

У меня есть таблица EMP с 2 столбцами ENM и EADD. Теперь мне нужно добавить столбец EMPID, но я хочу, чтобы он отображался как первый столбец в таблице, например EMPID, ENM, EADD.

Ответы [ 2 ]

1 голос
/ 03 мая 2019

Демо:

create table emp
( enm  varchar2(20)
, eadd varchar2(100) );

alter table emp add empid number not null;

Описание emp дает:

Name                            Null?    Type
------------------------------- -------- ----------------------------
ENM                                      VARCHAR2(20)
EADD                                     VARCHAR2(100)
EMPID                           NOT NULL NUMBER

Сделать все столбцы кроме empid невидимыми и снова видимыми:

begin
    for r in (
        select column_name
        from   user_tab_columns c
        where  c.table_name = 'EMP'
        and    c.column_name <> 'EMPID'
    )
    loop
        execute immediate 'alter table emp modify '||r.column_name||' invisible';
        execute immediate 'alter table emp modify '||r.column_name||' visible';
    end loop;
end;
/

и теперь у вас есть это:

Name                            Null?    Type
------------------------------- -------- ----------------------------
EMPID                           NOT NULL NUMBER
ENM                                      VARCHAR2(20)
EADD                                     VARCHAR2(100)
0 голосов
/ 04 мая 2019

Как предполагает Уильям Робертсон, использование невидимого и видимого можно использовать для изменения порядка столбцов. Однако, если в вашей таблице много полей, этот метод может быть неприятным, особенно если вы переупорядочиваете несколько раз во время разработки.

Всегда есть проверенный и надежный способ бросить стол и воссоздать с желаемым порядком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...