как мне проверить, что столбец не допускает значения NULL? - PullRequest
0 голосов
/ 04 августа 2020

Как и в topi c, я хотел бы знать, как я могу проверить, что столбец не допускает значения NULL? Для oracle у меня есть:

SELECT Nullable
FROM user_tab_columns
WHERE table_name = 'TOP_VALIDATION_RULE'
AND column_name = 'ERROR_LEVEL'

, но как преобразовать его для postgresql?

Я пробовал что-то вроде этого, но получаю ОШИБКУ: столбец "is_nullable" не существует:

SELECT is_nullable
FROM  information_schema.tables
WHERE table_name = 'TOP_VALIDATION_RULE'
AND column_name = 'ERROR_LEVEL'

/// РЕДАКТИРОВАТЬ После модификации:

SELECT is_nullable
    FROM  information_schema.columns
    WHERE table_name = 'TOP_VALIDATION_RULE'
    AND column_name = 'ERROR_LEVEL'

Получаю:

введите описание изображения здесь

1 Ответ

0 голосов
/ 04 августа 2020

Используйте pg_attribute, чтобы проверить, что столбец равен NULLABLE OR NOT

SELECT attnotnull FROM  pg_attribute WHERE attname = 'ERROR_LEVEL'

Примечание. Приведенный выше запрос вернет более одной строки, если столбец ERROR_LEVEL появится в нескольких таблицах базы данных. .

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