oracle 函数,解释变量的使用和调用,本人菜鸟刚学oracle,看不懂函数间的使用,越详细越好
v_num,v_sum 尤其是这两个变量怎么来的啊 函数 CREATE OR REPLACE FUNCTION get_salary( Dept_no NUMBER, Emp_count OUT NUMBER) RETURN NUMBER IS V_sum NUMBER; BEGIN SELECT SUM(SALARY), count(*) INTO V_sum, emp_count FROM EMPLOYEES WHERE DEPARTMENT_ID=dept_no; RETURN v_sum; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('你需要的数据不存在!'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM); END get_salary; 调用 DECLARE V_num NUMBER; V_sum NUMBER; BEGIN V_sum :=get_salary(10, v_num); DBMS_OUTPUT.PUT_LINE('部门号为:10的工资总和:'||v_sum||',人数为:'||v_num); END;
最满意答案
CREATE OR REPLACE FUNCTION get_salary(//函数 Dept_no NUMBER,//输入参数 Emp_count OUT NUMBER)//输出参数 RETURN NUMBER //返回参数 IS V_sum NUMBER;//这是声明函数的局部变量 BEGIN SELECT SUM(SALARY), count(*) INTO V_sum, emp_count//这里用到形参,emp_count是output类型的参数,会返回 FROM EMPLOYEES WHERE DEPARTMENT_ID=dept_no; RETURN v_sum;//返回v_sum的值 EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('你需要的数据不存在!'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM); END get_salary; 调用 DECLARE//这里是调用时声明变量 V_num NUMBER; V_sum NUMBER; BEGIN V_sum :=get_salary(10, v_num);//v_num,v_sum这两个变量调用函数得到值,v_num是emp_count得到的值,v_sum是函数里return的v_sum的值 DBMS_OUTPUT.PUT_LINE('部门号为:10的工资总和:'||v_sum||',人数为:'||v_num); END;更多推荐
发布评论