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

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

ALTER TABLE product ADD product_description VARCHAR2(20)

и

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

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

4 ответов


Нет, ты не можешь.

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

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


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

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

SQL>

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

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


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

синтаксис:

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

пример:

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

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

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

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

commit;

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

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