Sql*Plus User’s Guide and Reference


Example 5–9 Using Substitution Variables


Download 5.34 Mb.
Pdf ko'rish
bet68/103
Sana04.08.2023
Hajmi5.34 Mb.
#1665146
1   ...   64   65   66   67   68   69   70   71   ...   103
Bog'liq
E18404-12

Example 5–9
Using Substitution Variables
Create a script named STATS, to be used to calculate a subgroup statistic (the 
maximum value) on a numeric column:
SELECT &GROUP_COL, MAX(&NUMBER_COL) MAXIMUM
FROM &TABLE
GROUP BY &GROUP_COL
.
SAVE STATS
Now run the script STATS:
@STATS
And respond to the prompts for values as shown:
SQL*Plus displays the following output:
Created file STATS
Enter value for group_col: JOB_ID
old 1: SELECT &GROUP_COL,
new 1: SELECT JOB_ID,
Enter value for number_col: SALARY
old 2: MAX(&NUMBER_COL) MAXIMUM
new 2: MAX(SALARY) MAXIMUM
Enter value for table: EMP_DETAILS_VIEW
old 3: FROM &TABLE
new 3: FROM EMP_DETAILS_VIEW
Enter value for group_col: JOB_ID
old 4: GROUP BY &GROUP_COL
new 4: GROUP BY JOB_ID


Using Substitution Variables
5-14
SQL*Plus User's Guide and Reference
If you wish to append characters immediately after a substitution variable, use a 
period to separate the variable from the character. For example:
SELECT SALARY FROM EMP_DETAILS_VIEW WHERE EMPLOYEE_ID='&X.5';
Enter value for X: 20
is interpreted as
SELECT SALARY FROM EMP_DETAILS_VIEW WHERE EMPLOYEE_ID='205';
Avoiding Unnecessary Prompts for Values
Suppose you wanted to expand the file STATS to include the minimum, sum, and 
average of the "number" column. You may have noticed that SQL*Plus prompted you 
twice for the value of GROUP_COL and once for the value of NUMBER_COL in 
Example 5–9, "Using Substitution Variables"
, and that each GROUP_COL or 
NUMBER_COL had a single ampersand in front of it. If you were to add three more 
functions—using a single ampersand before each—to the script, SQL*Plus would 
prompt you a total of four times for the value of the number column.
You can avoid being re-prompted for the group and number columns by adding a 
second ampersand in front of each GROUP_COL and NUMBER_COL in STATS. 
SQL*Plus automatically DEFINEs any substitution variable preceded by two 
ampersands, but does not DEFINE those preceded by only one ampersand. When you 
have defined a variable, SQL*Plus will not prompt for its value in the current session.

Download 5.34 Mb.

Do'stlaringiz bilan baham:
1   ...   64   65   66   67   68   69   70   71   ...   103




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling