Вот мой сценарий:
INSERT INTO
AP09
SELECT
cds AS CDSCODE
FROM
P_Schools
WHERE
active = 1;
В таблице AP09 есть десять столбцов.Все кроме первичного ключа (CDSCODE) обнуляются.Я просто хочу вставить CDSCODE из другой таблицы, а остальное по умолчанию равно нулю.Вместо этого я получаю сообщение об ошибке:
SQL Server Database Error: Insert Error: Column name or number of supplied values does not match table definition.
Если я введу правильное количество нулей, вставка работает.Но документация Microsoft гласит (для команды INSERT):
The Database Engine automatically provides a value for the column if the column:
--Has an IDENTITY property. The next incremental identity value is used.
--Has a default. The default value for the column is used.
--Has a timestamp data type. The current timestamp value is used.
--Is nullable. A null value is used.
--Is a computed column. The calculated value is used.
Кто-нибудь знает, почему это не работает, как рекламируется?Это стоит мне много времени, так как я должен сделать это для нескольких столов!(Это SQL Server 2005 BTW)