私は非常に単純な関数を持っています。渡されたパラメータに基づいてsalary
列を更新したいだけです。私は手続きでそれを行うことができることを知っているが、このコードで何が間違っている、誰も私を説明してください。単純な関数が期待通りに機能しません
表とデータ構造:
create table emp_test (emp_id number, salary number);
insert into emp_test values (10,750);
insert into emp_test values (11,850);
insert into emp_test values (12,650);
insert into emp_test values (13,950);
insert into emp_test values (14,1750);
insert into emp_test values (15,2750);
と機能:
CREATE OR REPLACE FUNCTION
CIS_EXT.UPDATE_EMP_SAL(p_emp_id IN emp_test.emp_id%TYPE)
return NUMBER
IS
BEGIN
UPDATE EMP_TEST SET SALARY = SALARY+200
WHERE EMP_ID = p_emp_id;
COMMIT;
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RETURN 0;
END UPDATE_EMP_SAL ;
私は
SELECT UPDATE_EMP_SAL(10) FROM DUAL;
の下に私の出力が0になぜ来ているように実行?
ヘルプセンターはhttp://stackoverflow.com/help/([あなたの投稿をフォーマットする方法に関するセクション]を持っています書式設定) –