2010-09-15 10 views
5

मेरे पास नेटेज डेटाबेस में टेबल की एक सूची है और मैं प्रत्येक तालिका के लिए प्राथमिक कुंजी का नाम प्राप्त करना चाहता हूं।नेटजेज़ा एसक्यूएल क्वेरी

क्या कोई मुझे क्वेरी प्रदान कर सकता है।

+1

मुझे नेटेजज़ा के लिए कोई दस्तावेज खोजने में समय लगता है, लेकिन शायद मैं सिस्टम दृश्यों को देखकर शुरू करूंगा। '_v_table से * चुनें; उदाहरण के लिए –

+0

धन्यवाद अबे! मैं सिस्टम के विचारों को देखूंगा। –

उत्तर

5

आप इस क्वेरी का उपयोग कर सकते हैं।

SELECT * FROM _v_relation_keydata; 
+0

धन्यवाद वाइंडर!, मैं इसे देख लूंगा। –

2

नेटजेज़ा में प्राथमिक कुंजी चीज का कोई भी प्रकार नहीं है। आप अपनी आवश्यकता तालिका के लिए शून्य या नहीं NULL बाधाओं को देखने के लिए चाहते हैं तो आप \ डी [YOURTABLENAME]

0

हम primary key अवधारणा Netezza में नहीं है अपने nzsql कमांड लाइन

से नीचे दिए गए आदेशों में प्रवेश कर सकते हैं। यदि आप Not NULL कॉलम के बारे में चिंतित हैं, तो क्वेरी आपकी मदद करेगी।

select * from _v_relation_column where NAME='TABLE_NAME' and ATTNOTNULL='Y'; 
0

नेटजेज़ा में कुंजी (प्राथमिक/विदेशी) अवधारणाएं नहीं हैं। लेकिन हम Netezza में प्राथमिक कुंजी बना सकते हैं और यह मॉडल को बाहरी डेटा रिपोर्टिंग टूल जैसे इन्फॉर्मेटिका/माइक्रोस्ट्रेटीजी के साथ सिंक करने के लिए बनाया गया है।

आप सिस्टम दृश्य _v_relation_keydata में देख सकते हैं।

2
SELECT database 
     , schema 
     , constraintname 
     , relation as tablename 
     , conseq as seq 
     , attname as columnname, * 
FROM _v_relation_keydata 
where contype='p' 
and schema='ADMIN' 
order by relation, conseq 
+0

कोड-केवल उत्तर बहुत उपयोगी नहीं हैं। –

+1

सामान्य में सच है, लेकिन यह निश्चित रूप से मेरे लिए मेरे लिए था! :) – herdingofthecats