2013-01-02 1 views
1

테이블을 업데이트하기 위해 pl-sql 프로 시저를 작성했습니다.PL-SQL 프로 시저가 성공적으로 실행되지만 테이블을 업데이트하지 않습니다.

CREATE OR REPLACE 
PROCEDURE EMP_UPDATE (emp IN NUMBER, div_code IN VARCHAR2) 
AS 
BEGIN 

    UPDATE EMP_CATEGORY 
SET EMP_CATEGORY.DIV_CODE = div_code  
WHERE EMP_CATEGORY.EMP_NO = emp; 
    COMMIT; 

END EMP_UPDATE; 

업데이트 쿼리는 혼자 잘 작동하고이 절차에서 사용되는 때

Procedure executed successfully 
Query time: 0.018ms 
Affected rows: 1 

표시하지만 실제 테이블 레코드가 변경되지 않는 table.But를 업데이트합니다. 이 절차에서 무엇이 잘못되었는지 알 수 없습니다. 아무도 내가 실수 한 부분을 지적 해 주실 수 있습니까?

+0

너무 현지화 된 상태로 마감되었습니다. 하지만 제게 그것은 널리 퍼진 실수처럼 보입니다. 이 솔루션은 흥미롭고 도움이됩니다. – mdahlman

답변

3

테이블에 emp이라는 열이 있으므로 입력 변수 이름 emp IN NUMBERI_EMP IN NUMBER 또는 다른 것으로 변경하십시오.

+0

답장을 보내 주셔서 감사합니다.하지만 그게 문제라고 생각하지 않습니다. 나는 그걸 시도해 보았습니다. 나는 그것을 어떻게 바꿨는지에 따라 절차를 편집했다. – direndd

+2

테이블에'DIV_CODE'라는 컬럼이 있습니까? '예'인 경우 변수 이름 'DIV_CODE'의 이름을 'I_DIV_CODE'또는 다른 이름으로 변경하십시오. – TechDo

+0

예 DIV_CODE 이름의 열이 있습니다. 그리고 매개 변수 이름을 division으로 변경했습니다. 그리고 효과가있었습니다! 도움 주셔서 대단히 감사합니다 !!! (Y) : D – direndd