Jump to content

TRIGGER


Go to solution Solved by M6,

Recommended Posts

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

  • Solution

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.