Составители:
Рубрика:
ГУАП МЦИТ
Введение в «ORACLE»
Под ред. проф. В.М.Космачёва
89
Тогда SQL*Plus выведет на экран приглашение: Введите значение для givenname:
В качестве значения можно ввести любую последовательность символов, включая пробелы и знаки препинания. Если
сама переменная в команде заключена в кавычки, то их вводить не надо. SQL*Plus в любом случае будет читать
вводимое Вами значение с клавиатуры терминала, даже если ввод или вывод перенаправлены в файл. Если терминала
нет (в случае, когда команды выполняются из файла, в пакетном режиме), то SQL*Plus использует файл, в который
перенаправлен ввод. Чтобы добавить к подстанавливаемому значению какие-нибудь символы, надо написать их сразу
после имени переменной, отделив их точкой.
Пример.
SQL> SELECT * FROM EMP WHERE EMPNO=’&E.01’;
Введите значение для E: 123
воспринимается как
SQL> SELECT * FROM EMP WHERE EMPNO=’12301’;
символы & и && ( Подстановка )
Если перед именем переменной стоит &, то SQL*Plus не станет описывать ее неявной командой DEFINE. Это значит,
что встретив снова подстановку этой переменной, (в др. команде или при повторном выполнении данной) SQL*Plus
заново попросит ввести ее значение.
Если перед именем переменной поставить &&, то после ввода значения она будет автоматически описана командой
DEFINE и повторный ввод значения не потребуется.
Пример.
В командном файле STATS (выполняющем некоторые статистические вычисления) записано следующее:
SELECT
&&GROUP_COL, MAX(&&NUMBER_COL) MAXIMUM,
MIN(&&NUMBER_COL) MINIMUM,
SUM(&&NUMBER_COL) TOTAL,
AVG(&&NUMBER_COL) AVERAGE
FROM &TABLE
GROUP BY &&GROUP_COL;
При запуске этого файла SQL*Plus до начала выполнения файла запросит значения переменных:
Введите значение для group_col: PROJNO
Введите значение для number_col: SAL
Введите значение для table: EMP
Затем SQL*Plus выполнит следующий запрос:
SELECT
PROJNO, MAX(SAL) MAXIMUM,
MIN(SAL) MINIMUM,
SUM(SAL) TOTAL,
AVG(SAL) AVERAGE
FROM EMP
GROUP BY PROJNO;
Если Вы повторно запустите выполнение этого запроса, то SQL*Plus потребует ввести только значение переменной
TABLE (перед ней стоит один амперсенд). Для переменных с двумя амперсендами (GROUP_COL or NUMBER_COL)
ввод значений не потребуется.
Ограничения при подстановке переменных.
Подстановку переменных нельзя использовать в командах редактирования APPEND, CHANGE, DEL и INPUT.
Также подстановку нельзя использовать в командах, в которых она бессмысленна (т.е. в командах типа HELP,
REMARK и TIMING). Команды APPEND, CHANGE и INPUT воспринимают текст, начинающийся с амперсанда
Страницы
- « первая
- ‹ предыдущая
- …
- 87
- 88
- 89
- 90
- 91
- …
- следующая ›
- последняя »
