Я не могу удалить столбец из таблицы DB2

Я пытаюсь удалить столбец из таблицы DB2.

  • Имя таблицы = Instructor
  • Имя столбца Page

Используемая команда:

ALTER TABLE instructor 
DROP COLUMN page;

я получаю эту ошибку

Столбец, атрибут или период "PAGE" не определен в "GFQ70186.INSTRUCTOR".. SQLCODE=-205, SQLSTATE=42703, DRIVER=4.25.1301

Пожалуйста, помогите мне понять эту ошибку


person Sharath Acharya    schedule 10.02.2020    source источник
comment
У вас есть несколько таблиц instructor в разных схемах?   -  person HoneyBadger    schedule 10.02.2020
comment
Нет.. У меня только один стол. Я могу добавить столбцы в эту таблицу, но не могу удалить столбцы.   -  person Sharath Acharya    schedule 10.02.2020
comment
Можете ли вы проверить, что в вашей колонке «Страница» есть какой-либо чек?   -  person GRVPrasad    schedule 10.02.2020
comment
Столбец Page имеет ограничение CHECK, поэтому его нельзя удалить.   -  person GRVPrasad    schedule 10.02.2020
comment
Вы уверены, что используете SQL Server? Это не похоже на ошибку SQL Server. (Мой поиск предполагает, что это ошибка DB2.)   -  person Larnu    schedule 10.02.2020
comment
Да... Я использую DB2 в облаке.   -  person Sharath Acharya    schedule 10.02.2020
comment
Тогда зачем помечать SQL Server и его CLI sqlcmd? Если вы используете DB2, отметьте db2, а не совершенно не связанную с ним СУБД.   -  person Larnu    schedule 10.02.2020
comment
Вы пробовали drop column "Page" ?   -  person a_horse_with_no_name    schedule 10.02.2020
comment
Каков точный результат SELECT COLNAME FROM SYSCAT.COLUMNS WHERE TABSCHEMA='GFQ70186' AND TABNAME='INSTRUCTOR' AND UPPER(COLNAME)='PAGE'?   -  person Mark Barinstein    schedule 10.02.2020


Ответы (1)


Если имя вашего столбца Page (т. е. с заглавной P и строчными буквами age), вам нужно будет использовать двойные кавычки.

ALTER TABLE INSTRUCTOR
DROP COLUMN "Page"

https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000720.html

Обычный идентификатор:

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

Идентификатор с разделителями:

Идентификатор с разделителями — это последовательность из одного или нескольких символов, заключенная в двойные кавычки. Ведущие пробелы в последовательности являются значимыми. Идентификатор с разделителями можно использовать, когда последовательность символов не является обычным идентификатором. Таким образом, идентификатор может включать строчные буквы

person Paul Vernon    schedule 10.02.2020