суббота, августа 19, 2006

Шутки от MS SQL Server - 2

(по крайней мере, MS SQL 2005 так шутит)

Выяснилось, что даже при указании для некоторого NOT NULL поля таблицы значения по умолчанию в это поле нельзя записывать null.

Т.е., если поле col1 определено как NOT NULL default ('anystring'), то нельзя написать INSERT INTO (col0, col1) VALUES (@p0, @p2) и параметру @p2 присвоить null (DBNull.Value). Тут получится выкидыш-exception - низя в такое поле совать NULL. В этой ситуации поле нужно вовсе в списки не упоминать, тогда ему будет присвоено значение по умолчанию.

Как-то это неочевидно, а в BOL если и написано об этом, то где-то весьма далеко - специально искал, да не нашёл.

Отправить комментарий