17,140
社区成员




CREATE OR REPLACE FUNCTION get_salaries(
emp_no IN NUMBER,
emp_count OUT NUMBER
)
RETURN NUMBER
AS
v_sum NUMBER;
BEGIN
SELECT SUM(sal), count(1) INTO v_sum, emp_count
FROM tmp_emp;
RETURN v_sum;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
DBMS_OUTPUT.PUT_LINE('no records.');
WHEN OTHERS
THEN
DBMS_OUTPUT.PUT_LINE('other errors.');
END get_salaries;
-- 调用函数get_salaries例程
DECLARE
v_num NUMBER;
v_sum NUMBER;
BEGIN
v_sum := get_salaries(7788, v_num);
DBMS_OUTPUT.PUT_LINE(v_num || ' employees salaries are ' || v_sum);
END;
Compilation errors for FUNCTION SYS.GET_SALARIES
Error: PLS-00103: 出现符号 "DECLARE"
Line: 23
Text: DECLARE
Error: PLS-00103: 出现符号 "end-of-file"在需要下列之一时:
(
begin case declare end exception exit for goto if loop mod
null pragma raise return select update while with
<an identifier> <a double-quoted delimited-identifier>
<a bind variable> << continue close current delete fetch lock
insert open rollback savepoint set sql execute commit forall
merge pipe purge
Line: 29
Text: END;