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

         

Подстановка без повторного запроса


Если использовать одну и ту же подставляемую переменную с символом & в одной команде несколько раз, значение будет запрашиваться каждый раз заново:

SQL> select max(&col), avg(&col), min(&col) from &tab;

Введите значение для col: sal Введите значение для col: sal Введите значение для col: sal Введите значение для tab: emp прежний 1: select max(&col), avg(&col), min(&col) from &tab новый 1: select max(sal), avg(sal), min(sal) from emp

MAX(SAL) AVG(SAL) MIN(SAL) ---------- ---------- ---------- 5000 2073,21429 800

Чтобы значение переменной запрашивалось только один раз, используется подстановка с двумя амперсантами (&&):

SQL> c /(&col/(&&col

1* select max(&&col), avg(&col), min(&col) from &tab SQL> c /(&col/(&&col

1* select max(&&col), avg(&&col), min(&col) from &tab SQL> c /(&col/(&&col

1* select max(&&col), avg(&&col), min(&&col) from &tab SQL> /

Введите значение для col: sal Введите значение для tab: emp прежний 1: select max(&&col), avg(&&col), min(&&col) from &tab новый 1: select max(sal), avg(sal), min(sal) from emp

MAX(SAL) AVG(SAL) MIN(SAL) ---------- ---------- ---------- 5000 2073,21429 800



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