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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar