Fiz a tabela de teste:
create table tmp (id BIGINT NOT NULL IDENTITY PRIMARY KEY)
Agora eu quero inserir um valor:
insert into tmp () values();
e reclama:
SQL Error [102] [S0001]: Incorrect syntax near ')'.
Não consigo inserir ID, porque falha com:
insert into tmp (id) values(1);
-- SQL Error [544] [S0001]: Cannot insert explicit value for identity column
-- in table 'tmp' when IDENTITY_INSERT is set to OFF.
DEFAULT
sintaxe para VALUES
também é proibida:
insert into tmp values(default);
-- SQL Error [8101] [S0001]: An explicit value for the identity column in table 'tmp'
-- can only be specified when a column list is used and IDENTITY_INSERT is ON.
Tente com
Para especificar explicitamente o nome da coluna, em casos particulares, tente com
SET IDENTITY_INSERT ON
(1. e não se esqueça de defini-lo novamente como off
SET IDENTITY_INSERT tmp OFF
)(2. o valor que você fornece para
id
a coluna, porque é a chave primária, deve ser único):Todo o roteiro:
dbfiddle