Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Raul Almeida

Probleminha com TRANSACTION

Recommended Posts

Opa galera belezinha???Procurei e procurei mas não achei nada pra me ajudar...Estou inserindo uns dados no meu BD, porem quando importo 2 campos com iguais ele dá erro. Perfeito é assim que tem que ser, porém o meu TRANSACTION não pega esse erro...Obs: Não fui eu quem construi o banco, apenas dou manutenção...

BEGIN TRANSACTION INCLUIR_USUARIOS        INSERT INTO tb_usuarios (       usr_login,                                 usr_nome,                                 usr_email,                                usr_cpf,                                usr_stt,                                 usr_dt_inc,                                 usr_dt_adm,                                 usr_fc_id,                                 usr_lc_cod)                                                                SELECT          usr_login,                                 usr_nome,                                 usr_email,                                usr_cpf,                                1,                                GETDATE(),                                usr_dt_adm,                                usr_fc_id,                                  loc_cod                                                        FROM            carga2                                                                                                WHERE           usr_id IS NULL                        AND usr_stt = 1                                                --------------------------------------------        IF @@ERROR = 0                BEGIN                        COMMIT TRANSACTION INCLUIR_USUARIOS                        SET     @ERROR_INCLUSAO_CARGO = 'PROCEDURE EXECUTADA COM SUCESSO!!!'                END        ELSE                BEGIN                        ROLLBACK TRANSACTION INCLUIR_USUARIOS                        SET     @ERROR_INCLUSAO_CARGO = 'ERRO AO EXECUTAR ESTA PROCEDURE!!! EXECUÇÃO ABORTADA.'                END

Erro Server: Msg 2601, Level 14, State 3, Procedure sp_carga, Line 372Cannot insert duplicate key row in object 'tb_usuarios' with unique index 'IX_tb_usuarios_1'.The statement has been terminated.PROCEDURE EXECUTADA COM SUCESSO!!!Obrigado desde já aos que me ajudarem...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, ele está reclamando de dados duplicados no UNIQUE INDEX chamado 'IX_tb_usuarios_1' que você definiu em algum campo da sua tabela.

Execute o:

 

EXEC SP_HELPINDEX @objname = tb_usuarios

 

...e veja qual UNIQUE INDEX está definido...

 

Abração!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

É justamente o que foi dito pelo Wagner, a procedure tenta executar um registro que já existe no banco de dados, porém ele possui uma chave primária.Como você mesmo disse: "Perfeito é assim que tem que ser" quanto a registros iguais na tabela, basta você excluir a chave primária da tabela em questão, com o comando abaixo:ALTER TABLE tb_usuarios DROP CONSTRAINT IX_tb_usuarios_1Espero ter ajudado!Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.