У меня есть существующая программа, развернутая там, где некоторые базы данных клиентов имеют поле, не равное нулю, в то время как другие имеют значение NULL. Мне нужно запустить патч, чтобы исправить базу данных, чтобы столбец был нулевым, но не нужно запускать его во всех базах данных, только в тех, где он неверен. Есть ли простой метод, который можно использовать в SQL Server для выполнения этой проверки? Предпочтительно, что-то, что может быть запущено как часть сценария SQL.Как определить, установлено ли поле не null?
3
A
ответ
10
Посмотрите в INFORMATION_SCHEMA просмотров. Например:
SELECT
IS_NULLABLE
FROM
My_DB.INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_SCHEMA = 'dbo' AND
TABLE_NAME = 'My_Table' AND
COLUMN_NAME = 'My_Column'
IS_NULLABLE будет либо «ДА», либо «НЕТ».
2
select Table_Name, Column_Name, Is_Nullable
from information_schema.columns
вы получите эту информацию
2
select isnullable from syscolumns where name = 'status'
+1
Этот запрос должен иметь дополнительные элементы where, как если бы у вас было несколько таблиц со статусом, вы получите несколько результатов. –
Смежные вопросы
- 1. Как узнать, установлено ли поле NULL
- 2. Как определить, установлено ли поле БОЛЬШЕ ФРАГМЕНТОВ или нет?
- 3. Как определить, установлено ли соединение в java?
- 4. SQL Server: Как проверить, установлено ли в поле ограничение «NULL» или «NOT NULL»?
- 5. Как определить, установлено ли свойство enum? C#
- 6. Определить, было ли установлено управление
- 7. Null vs Значение не установлено
- 8. Как определить, установлено ли расширение Firefox +
- 9. с использованием оператора; почему мое поле не установлено в null?
- 10. Как определить, установлено ли приложение из AppStore?
- 11. Поле ADT не установлено
- 12. Как проверить, установлено ли определенное поле?
- 13. Определить, установлено ли событие из другого класса
- 14. Намерение не установлено, null return
- 15. Как определить, существует ли поле?
- 16. Поле просмотра UIView не установлено
- 17. MVC скрытое поле не установлено
- 18. Текстовое поле UIBottom не установлено
- 19. Текстовое поле UITextField не установлено
- 20. Проверьте, установлено ли поле для файла codeigniter
- 21. Запрос SOLR, чтобы проверить, установлено ли поле
- 22. Как проверить, установлено ли поле в MongoDB [] или {}?
- 23. Как узнать, установлено ли у моего DependencyProperty значение NULL?
- 24. Как определить, установлено ли Quicktime с помощью javascript?
- 25. Как определить, было ли Android-приложение уже установлено на устройстве?
- 26. Как определить, установлено ли приложение на основе кода обновления
- 27. Android - Как определить, установлено ли приложение в корневом режиме?
- 28. Может ли generic.GenericForeignKey() поле Null?
- 29. Как определить, установлено ли новое соединение Wlan/Lan? ПК
- 30. Как определить, установлено ли конкретное приложение на моих компьютерах домена
Можете ли вы прокомментировать, почему information_schema.columns лучше, чем syscolumns. Я честно не знаю, не против. –
Абсолютно, я бы сказал, где можно их использовать, представления схемы предпочтительнее, потому что 1. Они менее восприимчивы к изменению, чем системные таблицы (например, sys.objects vs sysobjects) и 2. Они имеют тенденцию аккумулировать информацию в системной таблице (например, ссылки на внешние ключи) – cmsjr
Отлично, спасибо. –