Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Kiedy muszę użyć średnika, a kiedy ukośnika w Oracle SQL?

Wiem, że to stary wątek, ale właśnie na niego natknąłem się i czuję, że nie zostało to do końca wyjaśnione.

W SQL*Plus istnieje ogromna różnica między znaczeniem / i ; ponieważ działają inaczej.

; kończy instrukcję SQL, podczas gdy / wykonuje wszystko, co znajduje się w bieżącym "buforze". Więc kiedy używasz ; i / instrukcja jest faktycznie wykonywana dwukrotnie.

Możesz to łatwo zobaczyć za pomocą / po uruchomieniu oświadczenia:

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

W tym przypadku faktycznie zauważa się błąd.


Ale zakładając, że istnieje taki skrypt SQL:

drop table foo;
/

A to jest uruchamiane z poziomu SQL*Plus, więc będzie to bardzo mylące:

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

/ jest wymagane głównie do uruchamiania instrukcji, które mają osadzony ; jak CREATE PROCEDURE ,CREATE FUNCTION ,CREATE PACKAGE oświadczenia i dla każdego BEGIN...END bloki.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zwrócić wiele wierszy z procedury składowanej? (PL/SQL Oracle)

  2. Na co Hibernate mapuje typ danych logicznych podczas domyślnego korzystania z bazy danych Oracle?

  3. Używanie parametrów z połączeniem Oracle ODBC

  4. Jak wstępnie określić wyniki zapytania w formacie JSON w SQLcl (Oracle)

  5. Oracle:ładowanie dużego pliku xml?