CREATE OR REPLACE FUNCTION SELECTSALRYBYID1( p_id auths.id%type DEFAULT '1' ) RETURN VARCHAR2 IS v_salary auths.salary%type; BEGIN SELECT salary into v_salary from auths where id = p_id; IF v_salary < 2000 THEN RETURN '小于2000'; ELSIF v_salary < 5000 THEN RETURN '小于5000'; ELSE RETURN '大于5000'; END IF; END; 【运行函数】 DECLARE v_id auths.id%type := '3'; v_salary VARCHAR2(30); BEGIN --位置表示法 v_salary := SELECTSALRYBYID1(v_id); DBMS_OUTPUT.PUT_LINE(v_salary); --命名表示法 v_salary := SELECTSALRYBYID1(p_id => v_id); DBMS_OUTPUT.PUT_LINE(v_salary); END; 在调用存储过程中,如果使用缺省值的参数不是存储过程中最后一个参数,则不能用位置表示法 |
|
来自: 擎天猪mpnlajkd > 《数据库》