Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

एकल कमांड लाइन से कॉल की गई संग्रहीत कार्यविधि में इनपुट पैरामीटर कैसे पास करें

आपने जो दिखाया है, उसके साथ आपको या तो कोष्ठक से बचना होगा:

echo execute some_procedure\(123,234\) | sqlplus username/example@sqldat.com

या अपने आदेश को दोहरे उद्धरणों में संलग्न करें:

echo "execute some_procedure(123,234)" | sqlplus username/example@sqldat.com

या तो पैराथेंस को समझने की कोशिश कर रहे शेल को रोक देगा, जो आपको एक 'syntax error: '(' unexpected देगा। या इसी तरह की त्रुटि। इसका वास्तव में Oracle से कोई लेना-देना नहीं है, यह शेल दुभाषिया कैसे काम करता है, इससे पहले कि यह प्रतिध्वनित स्ट्रिंग को SQL*Plus में पाइप करने से पहले काम करता है।

संयोग से, मैं आम तौर पर इस तरह की चीज़ के लिए एक हेरेडोक का उपयोग करता हूं, और कमांड लाइन पर क्रेडेंशियल डालने से बचता हूं ताकि वे ps के माध्यम से दिखाई न दें।; उदाहरण के लिए:

sqlplus -s /nolog <<!EOF
connect username/example@sqldat.com
execute some_procedure(123,234)
exit
!EOF



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में READONLY कॉलम बनाने का सबसे आसान तरीका क्या है?

  2. मैं एक संग्रहीत प्रक्रिया कैसे लिखूं जो किसी अन्य संग्रहीत प्रक्रिया से रेफ कर्सर में कॉलम जोड़ता है?

  3. ओरेकल प्रतिबद्ध और चयन के बीच अंतराल

  4. SYS_CONNECT_BY_PATH का उपयोग करके Oracle संचयी गणना

  5. अद्यतन Oracle 11g के बाद ट्रिगर के माध्यम से मूल्य अद्यतन कर रहा है