Erro em Trigger

14/03/2006

0

Estou com uma duvida em uma trigger de insert, ocorre o seguinte estou inserindo dados via trigger em uma nova tabela, no campo sequencial de controle da tabela na trigger faco da seguinte maneira

CREATE TRIGGER tia_movimento ON [dbo].[MOVIMENTO]
for INSERT, UPDATE
AS
insert into TABELA
select campo1, campo2,
(select (select isnull(max(CODIGO),0)+ 1 from TABELA) ) as cdcodigo
os demais campos do inset
FROM INSERTED.

Oque ocorre é que para o valor do campo verificado do select max sempre esta inserindo 1 quando a trigger insere mas que uma linha, acredito q seja porque nao comitou a primeira insercao, dai tentei colocar um commit work e apresentou erro, alguem sabe me informar uma maneira de fazer esta inserção corretamente. Obrigado

[quote:f4ae5cfc5e=´Moderação´][b:f4ae5cfc5e][color=blue:f4ae5cfc5e]Título do tópico editado por Vinicius2K:[/color:f4ae5cfc5e][/b:f4ae5cfc5e]
[b:f4ae5cfc5e][color=red:f4ae5cfc5e][list:f4ae5cfc5e][*:f4ae5cfc5e]Título inteiramente em maiúsculas: ´ERRO EM TRIGGER´.[/list:u:f4ae5cfc5e][/color:f4ae5cfc5e][/b:f4ae5cfc5e]
Peço que leia atentamente as [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url] e se algum esclarecimento sobre o funcionamento do fórum ou sobre as Regras de Conduta for necessário, envie-me uma [url=http://forum.clubedelphi.net/privmsg.php?mode=post&u=2796]Mensagem Particular[/url].[/quote:f4ae5cfc5e]


Evandro Luiz

Evandro Luiz

Responder

Posts

20/03/2006

Evandro Luiz

Galera consegui encontrar uma solução p o problema, como mencionei no select da trigger select max + 1 do codigo para o sqlserver nao funciona, para resolver criei o campo como Identifi pois o campo faz parte da chave primaria, sendo assim ele se auto incrementa.

Evandro Luiz


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar