Oracle函數多種多樣,系統變量函數就是其中之一,介紹三種最常見的系統變量函數。
Oracle系統變量函數:1)SYSDATE
該函數返回當前的日期和時間。返回的是Oracle服務器的當前日期和時間。2)USER
查看用戶名。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;
--select count(pid) into rootId from costcenterinfo where ID=rootId;
select count(pid) into sumnum from costcenterinfo where id=costcenterId;
RETURN sumnum;
因為你返回的是sumnum,使用注釋的你賦值給了rootId 所有返回NULL。