2016-04-06 22 views
0
Ben çalışıyor Oracle birinden alınmış aşağıdaki tetikleyici, var

:HSQL Tetik Beklenmeyen belirteç YENİ

create trigger D_DOCUMENT before delete on DOCUMENT 
REFERENCING NEW AS newrow OLD AS oldrow 
FOR EACH ROW 
BEGIN ATOMIC 
    -- Further SQL 
END; 

Bu artık bir HSQLDB çerçevesinde yürütülüyor. ATOMIC anahtar kelimesini eklemeye ihtiyacım vardı, ancak gerçek yapıştırma noktası bu YENİDEN REFERANSIYOR. Bunu çalıştırdığınızda Aşağıdaki özel durum almak:

Caused by: org.hsqldb.HsqlException: unexpected token: NEW 

bu belirteç beklenmedik Gerçekten neden anlayamıyorum belgelere baktığımızda, bu yüzden bu "YENİ" hakkında değiştirilmiş neden olarak karıştı. Çizgiyi yorumlamak, 'hareket et' hatası almasına rağmen, sözdizimi ya da karşılaştığım bazı hatalar var gibi görünüyor.

Bu tür tetikleyicilerin çalıştığı var mı? Denemek için örnek silme tetiği gönderebilir misiniz?

+0

hsqldb ürününün Oracle'ın ürün saklı yordamları ile uyumlu olmasını bekliyor musunuz? – jarlh

+0

Hayır Bu yüzden onu özgün belirtimden HSQL'lere değiştirdim. Bu HSQL'in en son sürümünü kullanarak mümkün, bu yüzden soru. – PeterS

cevap

0

ÖNCEDEN DELETE tetikleyicide YENİ ROW YOKTUR. Silinmek üzere olan sadece bir OLD ROW vardır.

Hata bu durumu gösterir.

+0

Teşekkürler @fredt, bu cevap. – PeterS

İlgili konular