2009-09-11 13 views
11

ओरेकल एसक्यूएल डेवलपर आपको एसक्यूएल स्क्रिप्ट लिखने के बिना सीधे टेबल पर फ़ील्ड मान अपडेट करने की अनुमति देता है। हालांकि यह आपको किसी फ़ील्ड के लिए शून्य मान सेट करने की अनुमति नहीं देता है? अद्यतन स्क्रिप्ट उत्पन्न हो जाता है कि नीचे है: अद्यतन "तालिका" सेट field_required = 'अशक्त' कहां ROWID = 'AAAnnZAAFAAAGMfAAC' और ORA_ROWSCN = '14,465,324'ऑरैकल एसक्यूएल डेवलपर टूल का उपयोग कर किसी तालिका में किसी फ़ील्ड में शून्य मान कैसे सेट करें?

किसी भी विचार कैसे तालिका में एक क्षेत्र के लिए एक शून्य मान सेट करने के लिए एक अद्यतन कथन लिखने के बिना?

उत्तर

8

आप किस संस्करण का उपयोग कर रहे हैं? मुझे अभी 1.5.4 मिल गया है और यह पूरी तरह से काम करता है। बस मान पर क्लिक करें और हटाएं हिट करें, फिर प्रतिबद्ध करें।

+1

वर्तमान में, मैं 1.5.4 का उपयोग करता हूं और आज सुबह नवीनतम अपडेट स्थापित करता हूं। अब यह काम कर रहा है। मेरा संस्करण 1.5.4 है MAIN-5940 धन्यवाद – Cshah

0

कुछ उपकरण एक पूर्ण मूल्य दर्ज करने के लिए <ctrl+0> का उपयोग करते हैं।

+1

यह – Cshah

0

tools -> preferences -> Database -> advanced settings में एक सेटिंग है जो आपको NULL कॉलम के डिफ़ॉल्ट प्रदर्शन को रीसेट करने की अनुमति देती है। यदि आप इसे खाली पर सेट करते हैं जो शायद आपकी समस्या का समाधान करेगा।

+0

नहीं काम करता था। यह सिर्फ डिस्प्ले को खाली करने के लिए टॉगल करता है। यह हल नहीं करता है। नीचे दी गई स्क्रिप्ट्स जो चलती हैं, जब मैं इच्छित नल अपडेट अद्यतन करता हूं "डिपार्टमेंट" सेट NAME = 'cgh' कहां ROWID = 'AAAoA8AAFAAAHk2AAA' और ORA_ROWSCN = '14471109' सफल अपडेट करें "विभाग" सेट नाम = जहां ROWID = 'AAAoA8AAFAAAHk2AAA' और ORA_ROWSCN = '14471114' तालिका में परिवर्तन सहेजने में त्रुटि "विभाग": पंक्ति 1: अमान्य कॉलम अनुक्रमणिका: getValidColumnIndex। जब मैंने फ़ील्ड में सभी अक्षरों को हटा दिया और डेटा को – Cshah

3

क्या आपका मतलब डेटा टैब में संपादन करना है? बस एक 'खाली' स्ट्रिंग डालें, जिसमें ऑरैकल शून्य के बराबर है। > वरीयताओं - -

सेट (नल) के लिए उपकरण में "के रूप में शून्य मान प्रदर्शन"> डाटाबेस -> उन्नत सेटिंग

create table ff (v VARCHAR2(1)); 

INSERT INTO FF VALUES ('1'); 

तालिका चुनें और चुनें डेटा टैब।

इससे पता चलता है

V 
= 
1 

अब डबल मूल्य 1 क्लिक करें और हटाना 1. प्रतिबद्ध लॉग में इस बयान को उत्पन्न करता है:

UPDATE "OSIVOLG"."FF" SET V = WHERE ROWID = 'AAA+zcAAFAAF9rgAAA' AND ORA_ROWSCN = '77536476584' 

syntacticly एक वैध एसक्यूएल बयान लेकिन डेटा टैब नहीं है कौन सा अब दिखाता है

V 
====== 
(null) 
+0

करने की कोशिश की, तब भी उपर्युक्त त्रुटि दिखाई दे रही है। मैंने मदद तालिका से एक मान हटाने की कोशिश की जो एक नया डीबी बनाया गया है जब पूर्व-स्थापित हैं। नीचे अद्यतन "सिस्टम" है। "सहायता" सेट जानकारी = जहां ROWID = 'AAACfmAABAAAG66AAL' और ORA_ROWSCN = '169734' तालिका "सिस्टम" में परिवर्तनों को सहेजने में त्रुटि।"सहायता": पंक्ति 12: अमान्य कॉलम अनुक्रमणिका: getValidColumnIndex – Cshah

+0

या तो आपके पास उस तालिका को अपडेट करने के लिए विशेषाधिकार नहीं हैं या आपका डीबी बंद है। एक नियमित उपयोगकर्ता स्कीमा में एक तालिका को अद्यतन करने का प्रयास करें। मैंने अपनी डीबी में उस समस्या को बिना किसी समस्या के अपडेट किया है, लेकिन यह एक ऐसा उपयोगकर्ता है जिसमें डीबीए विशेषाधिकार हैं। – DCookie

+1

ऐसा लगता है कि यह किसी प्रकार का बग है: http://forums.oracle.com/forums/thread.jspa?messageID=3314613&tstart=0 –

12

यहां SQL डेवलपर 3.0 का उपयोग करना। मेरे लिए क्या काम करता है सबसे पहले उस सेल को हाइलाइट करना है जिसे मैं शून्य पर सेट करना चाहता हूं। बैकस्पेस को दो बार दबाएं और सेल से बाहर निकलें (या संपादन मोड से बाहर निकलने के लिए आपको जो भी करना है) करें। पहला बैकस्पेस सेल को संपादन मोड में रखता है और मौजूदा मान को साफ़ करता है। दूसरा बैकस्पेस वह जगह है जहां "शून्य" मान सेट हो जाता है (यह दृष्टि से स्पष्ट नहीं है)। अपने परिवर्तनों को कम करें और शून्य मान अब ताज़ा डेटा में दिखाई देंगे।

+0

मैं यह भी पुष्टि कर सकता हूं कि SQL डेवलपर 4.0 के साथ, शून्य मान सेट करना सेल की सामग्री को हटाने के समान सरल है। जहां तक ​​मुझे पता है, 9.0 आर 2 जितना पुराना संस्करण इसके साथ संगत है और इसे यहां डाउनलोड किया जा सकता है: http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html – chuck

+0

शानदार , धन्यवाद। – thonnor

0

माउस के साथ प्रासंगिक कॉलम चुनें (चयन को रखने के लिए CTRL दबाकर), फिर SHIFT + DEL दबाएं। यह मेरे लिए काम करता है