Базы данных Oracle - статьи

         

Команды DEFINE и UNDFEFINE


Команда DEFINE позволяет определить пользовательскую переменную строкового типа и задать ей значение типа CHAR, либо получить значение определенной или всех пользовательских переменных. Эта команда имеет следующий синтаксис:

<команда DEFINE > ::=

DEF[INE] [<имя переменной> [= <текст>]]

Если текст, присваиваемый переменной, содержит пробелы или символы пунктуации, его надо брать в апострофы.

При вызове без значения, команда DEFINE выдает значение переменной. Команда DEFINE без параметров выдает значение всех пользовательских переменных SQL*Plus, включая системные. Рассмотрим пример:

SQL> define a=text

SQL> define a

DEFINE A = "text" (CHAR) SQL> define b=5

SQL> define

DEFINE _SQLPLUS_RELEASE = "801060000" (CHAR) DEFINE _EDITOR = "Notepad" (CHAR) DEFINE _O_VERSION = "Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production With the Partitioning option JServer Release 8.1.6.0.0 - Production" (CHAR) DEFINE _O_RELEASE = "801060000" (CHAR) DEFINE A = "text" (CHAR) DEFINE B = "5" (CHAR) SQL>

Как видите, утилита SQL*Plus автоматически определяет ряд системных пользовательских переменных.

Для удаления как явно определенной пользовательской переменной, так и параметра командной строки сценария (см. описание команды выше) используется команда UNDEFINE. После применения этой команды к переменной значение переменной теряется, и она становится неопределенной. Команда UNDEFINE

имеет следующий простой синтаксис:

<команда UNDEFINE> ::=

UNDEF[INE] <имя переменной>{ <имя переменной>}

Продолжая предыдущий пример:

SQL> undefine a b

SQL> define a

SP2-0135: символ a UNDEFINED SQL>



Содержание раздела