2011-02-16 10 views
5

मैं एक एसक्यूएल चला रहा हूँ (Oracle) किक्वेरी सहायता - जहां खंड है और चरित्र

select * from table 
where table_id in ('265&310', '266&320') 

की तरह बयान करते हुए मेंढक के माध्यम से चल रहा है, यह & कुछ चर प्लेसहोल्डर के रूप में पर विचार करें और यह पूछता में स्ट्रिंग इसके मूल्य के लिए। यदि यह 1-2 स्थान धारकों के लिए था तो मैं इसे TOAD में सेट कर सकता था लेकिन खंड में 200 स्ट्रिंग की तरह है।

इस प्रश्न को कैसे रखें?

मैं डेटा INSERT कथन के रूप में डेटासेट निर्यात करना चाहता हूं, इसलिए मैं इसे SQL-PLUS में उपयोग नहीं कर सकता।

उत्तर

4

TOAD में, आप विकल्प संवाद से प्रतिस्थापन चर के लिए प्रॉम्प्ट अक्षम कर सकते हैं:

आपको अनचेक करने की आवश्यकता है: देखें -> टोड विकल्प -> निष्पादन/संकलन -> प्रतिस्थापन चर के लिए संकेत।

7
SET DEFINE OFF; 

चर बंद के लिए उत्साह चालू करने के लिए काम करेगा ..

या

SET ESCAPE ON; 
SELECT 'blah \& blah' AS DES FROM DUAL; 
+0

क्या किसी भी ऑप्टिनो को परिभाषित करने के लिए सेट किया गया है या ~ TOAD में परिभाषित किया गया है? –

+0

यह स्क्रिप्ट के रूप में चलते समय काम करता है, लेकिन TOAD व्यक्तिगत स्टेटमेंट चलाने के लिए अपने स्वयं के पार्सर का उपयोग करता है। सौभाग्य से, आप विकल्प मेनू से प्रतिस्थापन को अक्षम कर सकते हैं, जैसा कि मैंने अपने उत्तर में दिखाया था। –

1

आप संयोजन का उपयोग करके एम्परसेंड चरित्र बच सकते हैं, इस तरह:

select * from table 
where table_id in ('265' || '&' || '310', '266' || '&' || '320') 
+1

यह बहुत प्रयास है :( –

+0

रैंडी के सुझाव के रूप में एक और विकल्प करना है और, उदाहरण के लिए, डेफिन चरित्र को किसी और चीज़ से पूरी तरह से सेट करने के लिए। सेट डिफाईन ~; – Tommi

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