soares chirrute Posted August 2, 2022 at 01:45 PM Report Share #626668 Posted August 2, 2022 at 01:45 PM Saudações estou com dificulades em criar um triger que actualiza um campo em ft se o documento estiver contabilizado, ou seja, se existir uma ligação da factura e os documentos contabilisticos, abaixo deixo o trecho de codigo. CREATE TRIGGER [TESTETRIGGER] ON [dbo].[ft] AFTER INSERT AS if (select count(*) from inserted )>0 BEGIN if EXISTS(SELECT do.dostamp FROM do WHERE do.dostamp=(select inserted.dostamp from inserted) ) BEGIN UPDATE ft set ft.final='Teste Trigger 1' from inserted where ft.ftstamp=inserted.ftstamp END else BEGIN UPDATE ft set ft.final='Teste Trigger' from inserted where ft.ftstamp=inserted.ftstamp END END O trigger core mas nunca valida a primeira condição sempre passa para a segunda. Alguem sabe como buscar os valores da ountra tabela?? Link to comment Share on other sites More sharing options...
Solution M6 Posted August 3, 2022 at 07:05 PM Solution Report Share #626726 Posted August 3, 2022 at 07:05 PM Não conhecendo nem o modelo nem os dados, diria que o teu erro está na query de validação do EXISTS. Diria, à primeira vista, que essa query não faz o que pretendes. Não vejo um filtro na cláusula WHERE que faça o que pretendes, se queres limitar valores / juntar tabelas devias usar um INNER JOIN ou com um IN. Uma forma "simples" de fazeres um teste é ires fazendo PRINTs com a informação que queres analizar ou, se não for possível, cria uma tabela e vai despejando os valores para lá para poderes analizar depois. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now