पृष्ठभूमि करने के लिए लंबी कास्ट करने के लिए: ALL_IND_EXPRESSIONS
स्तंभकैसे VARCHAR2 इनलाइन
COLUMN_EXPRESSION LONG Function-based index expression defining the column
मुझे पता है कि LONG
बहिष्कृत हो गई है है। मैं की तरह कुछ लिखने (या अन्य पाठ संचालन करते हैं) की जरूरत है:
SELECT
REPLACE(REPLACE(REPLACE(
q'{ALTER INDEX "<index_owner>"."<index_name>" ON ... (<column_expression>)}'
,'<index_owner>', index_owner)
,'<index_name>', index_name)
,'<column_expression>', column_expression) AS result
FROM all_ind_expressions;
ORA-00932: असंगत डेटाटाइप्स: उम्मीद संख्या लंबी
टिप्पणियां मिल गया :
- इसे स्वयं निहित क्वेरी
- कोई मध्यवर्ती ऑब्जेक्ट नहीं है (तालिका/दृश्य बनाना कोई विकल्प नहीं है)।
- कोई
PL/SQL block
DBMS_METADATA.GET_DDL
(मामले में यह नहीं है)- WITH FUNCTION clause के रूप में अंतिम उपाय
यह LONG
से VARCHAR2
को कास्ट करने के लिए निर्मित समारोह/परिवर्तित/उपयोग संभव है?
संपादित टी एल; डॉ:
SELECT column_expression || 'a' -- convert to working code
FROM all_ind_expressions;
[लंबे समय तक वर्चर 2 कनवर्ट करना] का संभावित डुप्लिकेट (https://stackoverflow.com/questions/31004844/converting-long-to-varchar2) –
@CyrilleMODIANO उल्लेख किया गया उत्तर उपयोगी हो सकता है। 'एक से अधिक कथन का उपयोग करके लंबे समय से varchar2 में कनवर्ट करना संभव नहीं है, लंबे समय तक कुछ प्रतिबंध हैं।आधिकारिक दस्तावेज के लिए कोई लिंक? – lad2025