У меня есть таблица myTable с несколькими столбцами, для некоторых из которых есть значение по умолчанию, а для остальных столбцов NULL является возможным и приемлемым значением.
Существует первичный ключ с именем pkVariable, а остальные столбцы с именами column2, column3, column4 и column5.
column2 и column3 настроены на получение значений по умолчанию 0 и 1 соответственно и настроены как NOT NULL.
У column4 и column5 нет значений по умолчанию, но они могут иметь значения NULL как возможность.
У меня вопрос, как мне вставить новую «пустую» запись в myTable. Я имею в виду, что я хотел бы иметь в новой записи в myTable значение первичного ключа, значение по умолчанию для column2 & column3 и значение NULL для column4 и column5.
Если бы pkVariable имел значение по умолчанию или был IDENTITY, я мог бы сделать это:
INSERT INTO myTable DEFAULT VALUES;
купить я не могу, потому что pkVariable должен получить pkValue в предложении INSERT.
Я могу использовать:
INSERT INTO myTable VALUES (pkValue, DEFAULT, DEFAULT, DEFAULT, DEFAULT);
и это работает, но я не хотел бы зависеть от количества столбцов.
Следовательно, каков правильный синтаксис для достижения моей цели?
Я ошибочно думал, что смогу сделать это:
INSERT INTO [myTable] ([pkVariable]) VALUES (pkValue) DEFUALT VALUES;
и подумал об этом направлении:
WITH pkVariable = pkValue
INSERT INTO [myTable] DEFAULT VALUES;
какие-либо другие предложения?