Как получить переменную среды Oracle LONG? - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь найти Oracle env var LONG (https://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_twelve040.htm#SQPUG088).

Я пробовал это:

select sys_context('USERENV', 'LONG') from dual;

Он говорит, что USERENV недействителен.

Без USERENV он говорит, что недостаточно информации.

1 Ответ

1 голос
/ 04 апреля 2019

Пространство имен USERENV имеет определенный список доступных параметров; вы получите «ORA-02003: неверный параметр USERENV», если вы введете имя параметра, которое он не распознает.

LONG, на который вы ссылаетесь, является настройкой клиента SQL * Plus, это не то, что вы можете запрашивать, и на самом деле это не переменная окружения - я полагаю, вы можете растянуть, чтобы это так назвать; документация называет это системной переменной, что, возможно, также сбивает с толку. Тем не менее, база данных не знает о клиентских настройках.

SET LONG {80 | п}

Устанавливает максимальную ширину (в байтах) для отображения ...

Чтобы установить максимальное количество байтов для отображения и копирования длинных значений ...

Этот параметр определяет, сколько памяти и буферного пространства выделяет SQL * Plus для получения значений LONG, CLOB и т. Д. При выполнении запроса к базе данных и отбрасывает все, что находится за этим пределом.

Если вы хотите узнать текущие настройки клиента, то из клиента вы можете сделать:

show long

Вам не очень полезно знать это как часть запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...