Спецификации столбцов SQL Server NULL и DEFAULT - PullRequest
1 голос
/ 21 марта 2011

Есть ли разница между объявлением столбца с Allow Nulls = Yes по сравнению с объявлением его обоими Default Value or Binding = NULL И Allow Nulls = Yes?

В частности, меня интересует, есть ли разница в отношении JDBC и семантики метода wasNull. У меня сложилось впечатление, что Allow Nulls = Yes (без спецификации DEFAULT) было достаточно, чтобы позволить вам исключить столбец из предложения INSERT и ожидать, что значению этого поля во вставленной строке будет присвоено значение SQL NULL ...

Мне было предложено, что wasNull неправильно ведет себя специально для поля NVARCHAR в моей базе данных, которое извлекается из набора результатов с использованием метода getString набора результатов, когда DEFAULT явно не указан как NULL .. .

Ответы [ 2 ]

1 голос
/ 21 марта 2011

Простое указание в столбце пустых значений не гарантирует, что оно будет иметь значение NULL, если оно не указано в списке столбцов оператора INSERT.

Books Online имееткровавые подробности под заголовком Аргументы .Посмотрите на (column_list).

1 голос
/ 21 марта 2011

Вы можете объявить столбец со значением по умолчанию NULL, но это невероятно бессмысленно.Все, чего я ожидал бы достичь - это замедлить процесс вставки (так как он должен искать значение по умолчанию).Allow Nulls = Yes должно быть достаточно.

Я не понимаю, как конкретно wasNull входит в это, поскольку, насколько я понимаю, wasNull используется при использовании наборов результатов, а не при выполнении вставкиоперации.

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