Array
(
)

Erro em Trigger

Evandro Luiz
   - 14 mar 2006

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

Citação:
Título do tópico editado por Vinicius2K:
[list:f4ae5cfc5e][*:f4ae5cfc5e]Título inteiramente em maiúsculas: ´ERRO EM TRIGGER´.[/list:u: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].


Evandro Luiz
   - 20 mar 2006

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