2010-12-07 12 views
6

में एसक्यूएल क्वेरी चलाने, जबकि मैं एक साधारण प्रश्न-स्क्रिप्ट है कि मुझे एक तालिका में पंक्तियों की cnt हो जाता है लिखने की कोशिश कर रहा हूँ। हालांकि मुझे सभी प्रकार के ऑरैक संदेशों को दबाने में समस्या का सामना करना पड़ रहा है।संदेशों को दबा एक स्क्रिप्ट

यहाँ मेरी स्क्रिप्ट है:: सभी मैं दिलचस्पी उत्पादन होता है

#!/usr/bin/ksh 
sqlplus /nolog <<EOF 
connect user/[email protected] 
set serveroutput on 
set heading off 
set feedback off 
select count(*) from table; 
exit; 
EOF 

मेरे उत्पादन इस तरह दिखता है:

.desktop% sh sql.ksh 
SQL*Plus: Release 10.2.0.2.0 - Production on Tue Dec 7 12:00:42 2010 
Copyright (c) 1982, 2005, Oracle. All Rights Reserved. 
SQL> Connected. 
SQL> SQL> SQL> SQL> 
     70 
SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 
With the Partitioning, OLAP, Data Mining and Real Application Testing options 

सभी मैं चाहता हूँ किसी भी संदेश को बिना नंबर 70 है, ताकि मैं लॉग इन आदि को नियमित रूप से लिख सकते हैं। मुझे पता है कि मैं संख्या के लिए पार्स कर सकता हूं लेकिन मुझे हर बार अपनी क्वेरी या स्कीमा में बदलाव करना होगा। क्या मैं सिर्फ उन सभी संदेशों को दबाने के लिए mysqlplus से नहीं पूछ सकता?

उत्तर

7

आप साइलेंट मोड

#!/usr/bin/ksh 
sqlplus -s /nolog <<EOF 
connect user/[email protected] 
set serveroutput on 
set heading off 
set feedback off 
select count(*) from table; 
exit; 
EOF 
+0

मैं मानता हूँ कि भले ही इसमें कोई कोई संदेश उन है कि मैं देखना चाहता हूँ -s जोड़कर। प्रश्न इन सभी संदेशों को छिपाने के लिए कैसे और केवल संदेशों कि मैं उदाहरण के लिए, देखने के लिए अगर मैं dbms_output.put_line ('हैलो वर्ड') मैं नमस्ते पद को देखने के लिए केवल चाहते हैं जोड़ने चाहते हैं प्रदर्शित करने के लिए है। मैं उसे कैसे कर सकता हूँ??? – vogash

+0

@ वोगाश, विवरण के लिए मेरा जवाब देखें – maxschlepzig

4

के लिए sqlplus -s उपयोग करने के लिए -s ध्वज का प्रयास की जरूरत है। उदाहरण के लिए,

sqlplus /s /nolog <<EOF 

...

6

आप sqlplus को अपरकेस S विकल्प जोड़ने के लिए है।

(कि Oracle 11.2.0.4.0 के साथ आता है sqlplus की) सहायता संदेश निर्दिष्ट करता है:

-S Sets silent mode which suppresses the display of 
     the SQL*Plus banner, prompts, and echoing of 
     commands. 
तरह

$ sqlplus -S /nolog << EOF 
connect user/[email protected] 
set serveroutput on 
set heading off 
set feedback off 
exec package.procedure($1); -- procedure that calls DBMS_OUTPUT procedures ... 
select 2 from dual; 
-- ... 
exit; 
EOF 

कुछ के साथ

आप केवल से आउटपुट प्राप्त डीबीएमएस_ओयूटीयूटी बफर और चयन कथन से परिणाम।

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