powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проверка на NULLABLE
2 сообщений из 2, страница 1 из 1
Проверка на NULLABLE
    #39699437
IgorSm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, как правильнее проверить на NOT NULL колонки
Выполняю запрос вида (привожу упрощенный)
Код: plsql
1.
SELECT Table_Name, NULLABLE, Column_Name  from user_TAB_COLUMNS where Table_Name='MYTable'  AND NULLABLE  ='Y' and Column_Name ='MyColumn';


Возвращает соответственно Y, типа он NULLABLE
Выполняю
Код: plsql
1.
ALTER TABLE MYTable MODIFY MyColumn NOT NULL;


Получаем
Код: plsql
1.
2.
Error report -
SQL Error: ORA-01442: модифицируемый в NOT NULL столбец уже имеет атрибут NOT NULL


Смотрим constraint таблицы
Код: plsql
1.
MyColumn DATE CONSTRAINT "SYS_C007017" NOT NULL ENABLE NOVALIDATE, 


Вопроса два
1) Почему он в user_TAB_COLUMNS NULLABLE= 'Y'
2) Проверку выполнять лучше через USER_CONSTRAINTS?
...
Рейтинг: 0 / 0
Проверка на NULLABLE
    #39699681
Ivan K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorSm,

1. Потому что CONSTRAINT - NOVALIDATE
2. лучше через user_TAB_COLUMNS, хотя косяки и тут бывают
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проверка на NULLABLE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]