Oracle выполнение sql файла

Создадим два файла test_file.sql и test_file2.none. В файле test_file.sql пропишем создание таблицы table1, а в файле test_file2.none её удаление. Чтобы выполнить команды создания и удаления из этих файлов сделаем следующее:

SQL> @test_file
Table created.

Для файлов, с отличным от *.sql расширением необходимо указывать его явно:
SQL> @test_file2.none
Table dropped.


Если вы находитесь не в директории, где расположен файл для выполнения, то необходимо указать полный путь до файла:
SQL> @/home/oracle/test_file.sql
Table created.
SQL> @/home/oracle/test_file2.none
Table dropped.

Можно выполнять файлы при входе в sqlplus:
sqlplus  имя_пользователя/пароль @имяФайла

Пример:
$ sqlplus "/as sysdba" @/home/oracle/test_file.sql

Oracle Выполнение запроса SELECT

Для выполнения запроса используется команда SELECT.
Синтаксис команды :
SELECT * | { [DISTINCT] column | expression, [alias],…} FROM table;
SELECT - это список столбцов для выбора из таблиц
* - выбор всех колонок которые есть в таблице
DISTINCT – отбор строк без повторения
column – колонка
expression – выражение для выборки
alias - псевдоним
FROM – указываются таблицы из которых происходит выборка
WHERE – фильтр для строк, которые выбираются из таблиц. Если WHERE отсутствует, выбор происходит по всем строкам.

Основные составные части команды:
Пример:
SQL> for_test;

T1                 T2
---------- ----------
hello               2


Пример2:
SQL> select t1 from for_test;

T1
----------
hello

Пример3
SQL> for_test WHERE t2=2;

T1                 T2
---------- ----------
hello               2


Пример4
Выборка нескольких столбцов:
SQL> select DBID NAME, CREATED from v$database;

      NAME CREATED
---------- ---------
1159350160 25-AUG-07


Пример выполнения арифметических операций при выборке
SQL> select bytes, bytes - 1000, bytes + 1000, bytes / 1000, bytes * 1000
2  from v$log;

     BYTES BYTES-1000 BYTES+1000 BYTES/1000 BYTES*1000
---------- ---------- ---------- ---------- ----------
  52428800   52427800   52429800    52428.8 5.2429E+10
  52428800   52427800   52429800    52428.8 5.2429E+10
  52428800   52427800   52429800    52428.8 5.2429E+10



Пример выполнения арифметических операций при выборке №2 :
Для изменения приоритета выполнения арифметических операции ставим скобки.
SQL> select bytes, (bytes*2)-100 from v$log;

     BYTES (BYTES*2)-100
---------- -------------
  52428800     104857500
  52428800     104857500
  52428800     104857500

В запросах также используются NULL – это отсутствие значения.
NULL – не допускает арифметических операций

SQL> students;

NAME                                                   POINTS
-------------------------------------------------- ----------
Lisa                                                       10
Anna                                                       60
Max                                                        90
Maria


В данном примере NULL это количество POINTS для Maria.
Присваивание псевдонимов:
SQL>  select bytes "size" from v$log;

      size
----------
  52428800
  52428800
  52428800

В данном примере bytes был присвоен псевдоним size.

Элементы (в данном примере group# и status) таблицы можно объединять в запросе используя ||:
SQL> select group# || status "log_info" from v$log;

log_info
--------------------------------------------------------
1CURRENT
2UNUSED
3UNUSED


При использовании ключевого слова DISTINCT повторяющиеся значения не отображаются :
SQL> xmpl1;
 COUNT
----------
        10
        20
        30
        50
        50
        50
        50
        50
SQL> select DISTINCT * from xmpl1;

     COUNT
----------
        30
        20
        50
        10

Дополнительная информация