Previous |
Next |
With the assignment operator (:=
), you can assign the value of an expression to a variable in either the declarative or executable part of a subprogram.
In the declarative part of a subprogram, you can assign an initial value to a variable when you declare it. The syntax is:
variable_name data_type := expression;
In the executable part of a subprogram, you can assign a value to a variable with an assignment statement. The syntax is:
variable_name := expression;
The following example shows, in bold font, the changes to make to the EMP_EVAL
.calculate_score
function to add a variable, running_total
, and use it as the return value of the function. The assignment operator appears in both the declarative and executable parts of the function. (The data type of running_total
must be NUMBER
, rather than SCORES
.SCORE%TYPE
or PERFORMANCE_PARTS
.WEIGHT%TYPE
, because it holds the product of two NUMBER
values with different precisions and scales.)
Assigning Values to a Variable with Assignment Operator
FUNCTION calculate_score(evaluation_id IN SCORES.EVALUATION_ID%TYPE , performance_id IN SCORES.PERFORMANCE_ID%TYPE) RETURN NUMBER AS n_score SCORES.SCORE%TYPE; n_weight PERFORMANCE_PARTS.WEIGHT%TYPE; running_total NUMBER := 0; max_score CONSTANT SCORES.SCORE%TYPE := 9; max_weight CONSTANT PERFORMANCE_PARTS.WEIGHT%TYPE:= 1; BEGIN running_total := max_score * max_weight; RETURN running_total; END calculate_score;
Oracle Database PL/SQL Language Reference for variable declaration syntax
Oracle Database PL/SQL Language Reference for assignment statement syntax