Поиск всех пустых столбцов в базе данных SQL 2000 - PullRequest
6 голосов
/ 11 июля 2009

Как узнать столбец со значениями NULL, разрешенными для вставки во всей базе данных?

Ответы [ 2 ]

11 голосов
/ 11 июля 2009

У меня нет sql под рукой, но запрос выглядит примерно так

  SELECT * FROM information_schema.columns WHERE is_nullable = 'YES'

В общем, ищите это стандартное представление, для всей информации метаданных о вашей схеме и структуре базы данных; Есть много других (information_schema.tables, information_schema.constraints и т. д.)

0 голосов
/ 14 сентября 2017

Те, кто хочет видеть столбцы только из базовых таблиц (не из представлений), должны присоединиться с INFORMATION_SCHEMA.TABLES. Мне также нравится исключать системную таблицу sysdiagrams.

Запрос

SELECT
     c.TABLE_NAME,
     COLUMN_NAME,
     DATA_TYPE
FROM
     INFORMATION_SCHEMA.COLUMNS AS c
     JOIN INFORMATION_SCHEMA.TABLES AS t ON t.TABLE_NAME = c.TABLE_NAME
WHERE
     is_nullable = 'YES' AND
     TABLE_TYPE = 'BASE TABLE' AND
     c.TABLE_NAME != 'sysdiagrams'
ORDER BY
     c.TABLE_NAME,
     COLUMN_NAME

Если у вас есть повторяющиеся имена таблиц в схемах или каталогах таблиц, вы должны также включить эти поля в объединение, как показано в ответах:

Различение таблиц и представлений в INFORMATION_SCHEMA.COLUMNS .

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