Ir para conteúdo

POWERED BY:

Arquivado

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

gitavares

Trigger e Update

Recommended Posts

oi gente,

 

estou tentando fazer uma trigger, tudo está rolando, menos essa parte:

 

IF(SELECT COUNT(*) FROM Veiculo v, inserted i 			WHERE v.codVeiculo = i.codVeiculo AND v.dtManutencao BETWEEN i.dtEntrega AND i.dtDevolucao) > 0			BEGIN				UPDATE Veiculo SET dtManutencao = i.dtDevolucao + 1 				FROM inserted i 				WHERE codVeiculo = i.codVeiculo				PRINT 'Data de manutenção atualizada!'		END

o erro que dá é:

Server: Msg 209, Level 16, State 1, Procedure DatasAluguelVeiculo, Line 51Ambiguous column name 'codVeiculo'.

certo. daí eu fiz assim:

IF(SELECT COUNT(*) FROM Veiculo v, inserted i 			WHERE v.codVeiculo = i.codVeiculo AND v.dtManutencao BETWEEN i.dtEntrega AND i.dtDevolucao) > 0			BEGIN				UPDATE Veiculo v SET v.dtManutencao = i.dtDevolucao + 1 				FROM inserted i 				WHERE v.codVeiculo = i.codVeiculo				PRINT 'Data de manutenção atualizada!'		END

daí o erro que dá é:

Server: Msg 170, Level 15, State 1, Procedure DatasAluguelVeiculo, Line 51Line 51: Incorrect syntax near 'v'.

Como resolvo isso??

 

valeus!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada,

 

Tenta assim:

IF(SELECT COUNT(*) FROM Veiculo v, inserted i			WHERE v.codVeiculo = i.codVeiculo AND v.dtManutencao BETWEEN i.dtEntrega AND i.dtDevolucao) > 0			BEGIN				UPDATE Veiculo SET dtManutencao = i.dtDevolucao + 1				FROM Veiculo v, inserted i				WHERE v.codVeiculo = i.codVeiculo				PRINT 'Data de manutenção atualizada!'		END

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

gitavares

 

este erro de ambi. eh qdo ele nao acha o nome do campo em subselect

 

olha esta linha

 

WHERE codVeiculo = i.codVeiculo

na tabela inserted tem o campo codveiculo?!

 

no segundo code que postou:

 

BEGIN

UPDATE Veiculo v SET v.dtManutencao = i.dtDevolucao + 1

FROM inserted i

WHERE v.codVeiculo = i.codVeiculo

PRINT 'Data de manutenção atualizada!'

 

você jah tem declarado a tabela veiculo v antes.... poe outra letra ;)

 

acho que deve resolver...

 

abs =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi!a solução do jothaz funcionou ;) nem pensei nisso.. bobagem minha.. heheha solução do jus2ka, eu já tinha mudado a letra, mas dava o mesmo erro. somente a gente não pode colocar atalho nas tabelas antes do SET! ;)valeu gente!

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.