更新日期:2024年09月11日
在本例中,过程check_credit声明了一个变量rating和一个函数check_rating。函数重
新声明变量。然后,函数通过使用过程名对全局变量进行引用。
CREATE OR REPLACE PROCEDURE check_credit (credit_limit NUMBER) AS
rating NUMBER := 3;
FUNCTION check_rating RETURN BOOLEAN IS
rating NUMBER := 1;
over_limit BOOLEAN;
BEGIN
IF check_credit.rating <= credit_limit THEN -- reference global variable
over_limit := FALSE;
ELSE
over_limit := TRUE;
rating := credit_limit; -- reference local variable
END IF;
RETURN over_limit;
END check_rating;
BEGIN
IF check_rating THEN
DBMS_OUTPUT.PUT_LINE
('Credit rating over limit (' || TO_CHAR(credit_limit) || '). '
|| 'Rating: ' || TO_CHAR(rating));
ELSE
DBMS_OUTPUT.PUT_LINE
('Credit rating OK. ' || 'Rating: ' || TO_CHAR(rating));
END IF;
END;
BEGIN
check_credit(1);
END;
--Result:
--Credit rating over limit (1). Rating: 3
GBase 8s PL/SQL手册
南大通用数据技术股份有限公司
- 18 -