Oracle veritabanından diğer uygulama yazılımlarına artımlı veri göndermek: - Küçük bir öneri bile çok yardımcı olacaktır
Farz edelim ki 1 masam var Item
. DML
bu masada her gün birçok şey oluyor. Bu tabloda her ne DML (Güncelleme silme ekle) olursa olsun, bu işlem verilerini kullanarak başka bir uygulamaya eklemem gerekiyor APIs
.
madde tablosunda, 2 kayıt eklenir, 1 güncellenir ve 1 silinirse aşağıdaki formda başka bir uygulamaya veri enjekte etmem gerekir. dosya json formatında olacaktır.
I can create below file. My question is regarding how to extract daily transactional data.
{
"insert": ["A1,A2"].
"delete": "B1",
"update": "C1 "
}
yukarıdaki gibi bir şey. A1 A2 Öğe tablosuna eklenmişse, B1 silinmiş ve C1 güncellendi demektir. bu yüzden yukarıdaki formattaki verileri değişiklik yapmak için hedef uygulamaya göndereceğim.
Bunu yapmak için bir tablo daha oluşturdum Item_trigger
. Ayrıca trigger
Öğe tablosunda oluşturdum . yani herhangi bir DML olursa trigger
, Item_trigger
değeri olan tabloya eklenir
('A1','Insert'), ('A2','Insert'),('B1','delete'),('C1','Update')
daha sonra Item_trigger
tabloyu kullanarak dosya oluşturacağım ve verileri hedef sisteme göndereceğim.
Yukarıdaki tasarım tetikleyici kullandığım için reddedildi. İyi bir çözüm var mı? MV hakkında endişeliydim ama silmeyi düşünmüyor. dikkate almıyor delete
bu yüzden onu bile kullanamam.
Lütfen bana tasarım konusunda yardım eder misin? Kullanmadan işlemi kaydetmek için zaten var mıtrigger
Yanıtlar
Belirli bir tablo üzerinde ifade düzeyinde denetimden yararlanabilirsiniz. Ancak bu, gerçek verileri değil, yalnızca ne tür bir işlemin gerçekleştirildiği bilgisini sağlayacaktır. Bu bilgileri, başka bir tabloya eklenen, silinen ve güncellenen her şeyin değerini depolamakla birleştirebilir veya verileri doğrudan iletmek için ana tabloyu kullanabilirsiniz.
Komut dosyası aşağıdadır
audit select,insert,update,delete on test.test_audit by access;
delete from test_audit where id <= 10;
select * from Dba_Audit_Object where OBJ_NAME='TEST_AUDIT';