我有非常简单的功能,我只是想根据传递的参数更新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/格式化) –