2010-12-02 9 views
11

में बनाएं/की जगह ट्रिगर मैं गिलहरी 3.2.0 का उपयोग करते हैं मैं इस ट्रिगर को बदलने के लिए प्रयास करें:गिलहरी

CREATE OR REPLACE TRIGGER crw_ins_trig 
    BEFORE INSERT OR UPDATE ON crew 
    FOR EACH ROW 
DECLARE 

BEGIN 
    if (:new.crw_id is null) then 
     select crw_id_seq.nextval 
     into :new.crw_id 
     from dual; 
    end if; 
END; 
/

मैं संदेश मिलता है "कृपया पैरामीटर मान के लिए। ': नई'"

जब मैं ठीक क्लिक करें परिणाम संदेश है:

Warning: Warning: execution completed with warning 
SQLState: null 
ErrorCode: 17110 
Position: 27 

Query 1 of 1, Rows read: 0, Elapsed time (seconds) - Total: 0.023, SQL query: 0.023, Building output: 0 

अपने आवेदन में मैं एक त्रुटि "ORA-04098: trigger 'CRW_INS_TRIG' is invalid and failed re-validation"

प्राप्त

क्या इसे गिलहरी के साथ करना है? यदि हां, तो मैं इसे कैसे हल कर सकता हूं?

+0

समस्या घोषित करने और शुरू के बीच रिक्त पंक्ति हो सकता है। शायद गिलहरी पहली चार लाइनों को CREATE TRIGGER कमांड (जिसके परिणामस्वरूप एक अमान्य ट्रिगर) के रूप में व्याख्या कर रहा है, फिर BEGIN-END ब्लॉक को अनाम ब्लॉक के रूप में निष्पादित करने का प्रयास कर रहा है। –

उत्तर

15

आप गिलहरी में "sqlparam" प्लगइन उतारना चाहिए, उसके बाद इसके लिए मूल्यों को भरने के लिए के लिए नहीं कहेंगे ": paramName" चर

+0

हां! यह काम करता है और ट्रिगर ओरेकल में बनाया और मान्य है! – Guus

0

आप इतना है कि यह की तरह

CREATE OR REPLACE TRIGGER crw_ins_trig 
    BEFORE INSERT OR UPDATE ON crew 
    REFERENCING NEW AS NEW 
       OLD AS OLD 
    FOR EACH ROW 
BEGIN 
    if (:new.crw_id is null) then 
     select crw_id_seq.nextval 
     into :new.crw_id 
     from dual; 
    end if;  
END crw_ins_trig; 

देखो कि कोशिश करो अपनी ट्रिगर करने के लिए एक को संदर्भित पंक्ति जोड़ने के लिए चाहते हो सकता है। यदि यह काम नहीं करता है, तो एक अलग उपकरण (उदा। एसक्यूएल * प्लस, पीएल/एसक्यूएल डेवलपर, टोड इत्यादि) का उपयोग करके कथन निष्पादित करने का प्रयास करें।

साझा करें और आनंद लें।

+0

जो कुछ भी नहीं करता है, अगर आप किसी चीज़ के रूप में नया संदर्भ देना चाहते हैं, तो आप इसे किसी अन्य चीज़ के बेहतर नाम दें, जैसे कि – Alex

संबंधित मुद्दे