ORA-14551: 질의 안에 DML 작업을 수행할 수 없습니다
ORA-06512: "SCOTT.FC_UPDATE_SAL", 줄 7에서
RETURN varchar2
IS
pragma autonomous_transaction;
기본적으로 오라클 함수내에서 DML(Data Manipulation Language - 레코드 제어 명령어)
즉, insert, update, delete 등을 사용할수 없는데
이를 사용하기 위해서는 다음과 같이 해준다.
------------------------------------------------------
FUNCTION myFunctionRETURN varchar2
IS
pragma autonomous_transaction;
BEGIN
INSERT INTO myTable VALUES;
COMMIT;
RETURN 'OK';
END;
--------------------------------------------------------
IS아래에 PRAGMA AUTONOMOUS_TRANSACTION;
문을 통해서 별도의 트랜잭션 처리를 해줘야 한다.
pragma autonomous_transaction
- 자율 트랜잭션
'ORACLE > 문제해결' 카테고리의 다른 글
ORA-24324, ORA-24323, ORA-01090 문제해결 (0) | 2012.04.07 |
---|---|
ORA-12560 에러 해결방법 (0) | 2012.03.28 |
ORA-12514 에러 해결방법 (윈도우) (2) | 2012.03.17 |
유저 비밀번호 변경시 (0) | 2012.03.14 |
두 테이블을 조인하여 만든 VIEW에 값을 추가할수 있는가? (0) | 2012.03.14 |