Подтвердить что ты не робот

SQL для добавления столбца и комментария в таблице в одиночной команде

Я использую Oracle 11g для своего веб-приложения. Я хочу добавить столбец и комментарий в существующую таблицу. Я могу сделать это легко с помощью следующих команд

ALTER TABLE product ADD product_description VARCHAR2(20)

и

COMMENT ON COLUMN product.product_description 
     IS 'This is comment for the column';

Но я хочу сделать выше задачу в одиночной команде. Я искал в Интернете команду для добавления столбца и комментариев в одной команде, но я не мог найти. Интересно, возможно ли это. Любые предложения будут высоко оценены.

4b9b3361

Ответ 1

Нет, вы не можете.

Нет причин, по которым вам нужно будет. Это одноразовая операция, поэтому для фактического ввода и выполнения требуется только вторая или вторая секунды.

Если вы добавляете столбцы в свое веб-приложение, это скорее указывает на недостаток вашей модели данных, поскольку вам не нужно это делать.


В ответ на ваш комментарий, что комментарий является атрибутом столбца; это может показаться так, но за кулисами Oracle хранит это как атрибут объекта.

SQL> desc sys.com$
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 OBJ#                                      NOT NULL NUMBER
 COL#                                               NUMBER
 COMMENT$                                           VARCHAR2(4000)

SQL>

Столбец не является обязательным и sys.col$ не содержит информации о комментариях.

Я предполагаю, что я не знаю, что это было сделано, чтобы иметь только одну систему обработки комментариев, а не несколько.

Ответ 2

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

СИНТАКСИС:

COMMENT ON COLUMN Tablename.Column name IS 'text';

Пример:

COMMENT ON COLUMN TAB_SAMBANGI.MY_COLUMN IS 'This is a comment on my column...';

Ответ 3

Запрос на добавление столбца с комментарием:

alter table table_name 
add( "NISFLAG"    NUMBER(1,0) )

comment on column "ELIXIR"."PRD_INFO_1"."NISPRODGSTAPPL" is 'comment here'

commit;

Ответ 4

Добавить комментарии для двух разных столбцов таблицы EMPLOYEE:

COMMENT ON EMPLOYEE
     (WORKDEPT IS 'see DEPARTMENT table for names',
     EDLEVEL IS 'highest grade level passed in school' )