Показаны сообщения с ярлыком sqlplus. Показать все сообщения
Показаны сообщения с ярлыком sqlplus. Показать все сообщения

Советы по работе с sqlplus

1. При работе с sqlplus последний выполненный оператор всегда сохраняется в текстовый файл afiedt.buf. Можно использовать этот файл для того чтобы выполнить последнюю команду или подредактировать ее. Для этого нужно просто ввести в командной строке sqlplus команду edit (или просто ed). При закрытии окна редактора измененная команда автоматически станет текущей в sqlplus.

2. Выполняя SQL-операторы, не завершайте их точкой с запятой (;), а указывайте символ косой черты (/) в строке, следующей за оператором.

3. Можно сначала написать sql-запрос в тектовом файле, а потом загрузить его в sqlplus и выполнить. Для этого сохраните файл с расширением .sql и загрузите командой get или @, например:
1) сохраняем оператор в файл my_select.sql
2) выполняем команду

SQL>@my_select

4. Если Вам нужно сохранить выходные данные скрипта в файл, используйте команду SPOOL.
Пример:

SQL>spool out.txt
SQL>select * from DUAL

Результат запишется в файл out.txt

5. Для более удобного чтения результатов запросов можно использовать форматирование при помощи команды column. Например, операторы

SQL>column ID a3
SQL>column FIRSTNAME a12
SQL>column LASTNAME a12
SQL>select ID, FIRSTNAME, LASTNAME from EMPLOYEE

выведут результат в виде 3 колонок, первая из которых будет иметь ширину 3 символа, а вторая и третья – по 12 символов.

Неправильная кодировка в sqlplus

Новички часто сталкиваются с такой проблемой: при запуске sqlplus все сообщения выдаются в неправильной кодировке.
sqlplus ошибка кодировки
Проблема возникает при несовпадении кодировки Oracle клиента с кодировкой, заданной для Dos-консоли. Соответственно, надо либо изменить первую, либо вторую.

Кодировка клиента Oracle задается в реестре
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG, либо переменной окружения NLS_LANG. Поэтому проще всего сменить кодировку клиента командой:

set NLS_LANG=RUSSIAN_RUSSIA.RU8PC866

Кодировка Dos-консоли меняется командой chcp:

C:\>chcp 1251
Текущая кодовая страница: 1251


Замечание: при смене кодовой страницы для DOS-консоли на 1251, следует убедиться что для неё установлены шрифты Lucida Console.

смена шрифта на Lucida Console