Например, если переменная SORTCOL имеет значение JOB и переменная MYTABLE имеет значение EMP, SQL*Plus выполняет команды
SQL> BREAK ON &SORTCOL
SQL> SELECT &SORTCOL, SAL
2 FROM &MYTABLE
3 ORDER BY &SORTCOL;
если бы они были
SQL> BREAK ON JOB
SQL> SELECT JOB, SAL
2 FROM EMP
3 ORDER BY JOB;
Можно использовать переменные подстановки везде в командах SQL и SQL*Plus за исключением первого слова, введённого в командной строке. Когда SQL*Plus обнаруживает не определённую переменную подстановки в команде, то он запрашивает её значение.
Можно ввести любую строку на запрос даже содержащую пробелы и знаки пунктуации. Если команда SQL содержащая ссылку должна иметь кавычки вокруг переменной и они в ней не включены, пользователь должен ввести их на запрос.
SQL*Plus читает ответ с клавиатуры даже если ввод или вывод с терминала переопределён в файл. Если терминал не доступен (например, если исполняется пакетный файл) SQL*Plus использует перенаправленный файл.
После ввода значения на запрос, SQL*Plus показывает строку, содержащую переменную подстановки, дважды: один раз – до подстановки значения и другой – после подстановки. Вывод можно подавить устанавливая командой SET переменную VERIFY в OFF.
Пример. Использование переменных подстановки
Создаётся командный файл с именем STATS для расчёта статистики по подгруппе (максимальное значение) в числовом столбце:
SQL> CLEAR BUFFER
SQL> INPUT
1 SELECT &GROUP_COL,
2 MAX(&NUMBER_COL) MAXIMUM
3 FROM &TABLE
4 GROUP BY &GROUP_COL
5
SQL> SAVE STATS
Created file STATS
Теперь нужно выполнить командный файл STATS и ответить как показано ниже на запросы значений:
SQL> @STATS
Enter value for group_col: JOB
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.