लापता मैं एक बहुत ही सरल टेबल बनाया:ओरेकल क्वेरी परिभाषित करता है
DECLARE
whatever varchar2(20) := :bananas;
BEGIN
MERGE INTO tmp t USING
(SELECT whatever AS this_id FROM DUAL) d
ON (t.id = d.this_id)
WHEN NOT MATCHED THEN
INSERT (id) VALUES (d.this_id);
END;
और फिर बांध
दर्ज करें और प्राप्त करें:
CREATE TABLE TMP ("ID" VARCHAR2(20 BYTE));
फिर ऐसा करने की कोशिश की यह त्रुटि:
Error starting at line : 1 in command -
DECLARE
whatever varchar2(20) := :bananas;
BEGIN
MERGE INTO tmp2 t USING
(SELECT whatever AS this_id FROM DUAL) d
ON (t.id = d.this_id)
WHEN NOT MATCHED THEN
INSERT (id) VALUES (d.this_id);
END;
Error report -
Missing defines
मुझे कोई भाग्य नहीं है कि वह क्या चाहता है। यदि मैं 'केले' को एक 'ए' जैसे मान के साथ बदलता हूं, लेकिन जब मैं एक चर का उपयोग करता हूं और मान को बांधता हूं तो नहीं। किसी को पता है कि मेरी क्वेरी के साथ क्या गलत है? धन्यवाद।
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
"CORE 11.2.0.4.0 Production"
TNS for IBM/AIX RISC System/6000: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
संपादित: मैं सिर्फ देखा है कि त्रुटि ... त्रुटि अभी भी विषय में है, हालांकि
'केले' क्या है? क्या यह कोड संग्रहीत प्रक्रिया में है? पैरामीटर को परिभाषित करने की आवश्यकता है। –
मैं सिर्फ एक चर के लिए किसी भी नाम का उपयोग कर रहा था। मैं इसे क्लब्स के साथ एक क्वेरी के रूप में निष्पादित करना चाहता हूं, लेकिन मुझे यह समस्या "लापता परिभाषा" के साथ हमेशा दिखाई दे रही थी और जब तक मैं इस मुद्दे को कम नहीं कर पाता, तब तक मेरे बहुत सारे कोड को हटाने की कोशिश कर रहा था। –
अपनी टिप्पणी दोबारा पढ़ें, इसे ओरेकल एसक्यूएल डेवलपर –