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

मुझे Oracle SQL में अर्धविराम बनाम स्लैश का उपयोग करने की आवश्यकता कब होगी?

मुझे पता है कि यह एक पुराना धागा है, लेकिन मैं बस इस पर ठोकर खाई और मुझे लगता है कि इसे पूरी तरह से समझाया नहीं गया है।

SQL*Plus में / . के अर्थ के बीच बहुत बड़ा अंतर है और एक ; क्योंकि वे अलग तरह से काम करते हैं।

; एक SQL कथन समाप्त होता है, जबकि / वर्तमान "बफर" में जो कुछ भी है उसे निष्पादित करता है। इसलिए जब आप ; . का उपयोग करते हैं और एक / कथन वास्तव में दो बार निष्पादित होता है।

आप आसानी से देख सकते हैं कि / . का उपयोग करके स्टेटमेंट चलाने के बाद:

SQL*Plus: Release 11.2.0.1.0 Production on Wed Apr 18 12:37:20 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning and OLAP options

SQL> drop table foo;

Table dropped.

SQL> /
drop table foo
           *
ERROR at line 1:
ORA-00942: table or view does not exist

इस मामले में कोई वास्तव में त्रुटि को नोटिस करता है।


लेकिन मान लें कि इस तरह की एक SQL स्क्रिप्ट है:

drop table foo;
/

और यह SQL*Plus के भीतर से चलाया जाता है तो यह बहुत भ्रमित करने वाला होगा:

SQL*Plus: Release 11.2.0.1.0 Production on Wed Apr 18 12:38:05 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning and OLAP options

SQL> @drop

Table dropped.

drop table foo
           *
ERROR at line 1:
ORA-00942: table or view does not exist

/ मुख्य रूप से उन बयानों को चलाने के लिए आवश्यक है जो एम्बेडेड हैं ; जैसे CREATE PROCEDURE ,CREATE FUNCTION ,CREATE PACKAGE कथन और किसी भी BEGIN...END . के लिए ब्लॉक।



  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 - किसी संख्या का अग्रणी शून्य इसे TO_CHAR में परिवर्तित करते समय गायब क्यों हो जाता है?

  2. JDBC का उपयोग करते समय SQL कथनों के लिए लॉगिंग कैसे सक्षम करें

  3. Oracle डायनेमिक SQL उदाहरण DBMS_SQL का उपयोग करके एक रिकॉर्ड सम्मिलित करने के लिए

  4. tnsnames.ora फ़ाइल के बिना Oracle कनेक्शन स्ट्रिंग

  5. तालिका से दूसरी सबसे बड़ी या तीसरी सबसे बड़ी प्रविष्टि कैसे प्राप्त करें