Protheus 💻 Exemplo de Trigger para Oracle
Fala, pessoal do Protheus! 👊
Neste exemplo você vai conferir como criar uma Trigger no Oracle utilizando ADVPL, aplicando a lógica diretamente na base de dados de forma segura e eficiente 🚀
cTrigger := " CREATE OR REPLACE TRIGGER "+RetSQLName('SRA')+"XEXP " + CRLF
cTrigger += " BEFORE UPDATE ON " + RetSQLName('SRA') + CRLF
cTrigger += " FOR EACH ROW " + CRLF
cTrigger += " BEGIN " + CRLF
cTrigger += " IF :OLD.RA_XEXP <> :NEW.RA_XEXP THEN " + CRLF
cTrigger += " RETURN; " + CRLF
cTrigger += " END IF; " + CRLF
cTrigger += " :NEW.RA_XEXP := ' '; " + CRLF
cTrigger += " END ; "
If TCSqlExec(cTrigger) < 0
MsgInfo(TCSQLError())
EndIf
📌 O que essa trigger faz?
Ela é executada antes do UPDATE na tabela SRA. Caso o campo RA_XEXP seja alterado, a trigger interrompe o processamento com RETURN. Caso contrário, o campo recebe um valor em branco.
Esse tipo de abordagem é muito útil quando precisamos garantir integridade de dados diretamente no banco Oracle, evitando alterações indevidas via sistema ou integrações externas 🔒
Curtiu o conteúdo? Compartilhe com seus colegas de Protheus e deixe seu comentário 👊
Um abraço e até a próxima! 🚀
#Protheus #ADVPL #Oracle #TriggerOracle #BancoDeDados #DesenvolvimentoERP #TOTVS #Programacao #SQL #Automacao