Precisei alterar a aplicaçao da empresa para que acesse o banco em SQL Server.
Estou usando o JTDS para conectar ao meu banco, e tudo funciona perfeitamente (até agora), porem, por motivos obscuros preciso inserir um registro nulo no banco, apenas para guardar a posicao dele para uso da aplicacao, e em firebird ele busca o generator dessa forma:
"SELECT gen_id(GEN_" + tabela + "_ID, 1) FROM TABELA"
Ja no sql server, pesquisando verifiquei q conseguiria esse valor dessa forma:
select @@identity from " +tabela;
E testei isso em uma feramenta para trabalhar com o BD, e obtive a resposta esperada, porem… na minha aplicaçao ele retorna zero.
Alguem tem alguma ideia do motivo para ele retornar zero?
Ou alguma sugestao?
capiwarrior cuidado ao usar o @@identity por que ele retorna na verdade o identity do ultimo insert executado, então se você for fazer a inserção em duas tabelas diferentes concorrentemente, você pode acabar pegando o identity indesejado.