티스토리 뷰

DEV/DB

[ORACLE] Function DML 실행

SBP 2024. 12. 4. 15:56

function 에서 dml 사용 불가능
select 문에서 dml 을 실행하게 되면 관리 문제로 고생할 수 있음.

그래도 사용해야 한다면 pragma 자율 트랜잭션을 이용해야 함.
- 부모 트랜잭션의 승인/롤백 여부에 상관 없이 자신의 작업을 승인/롤백할 수 있음

function fc_test
  RETURN VARVHAR2
is
-- function 에서는 dml 사용 불가능, 사용하기 위해선 아래 코드 필요
pragma autonomous_transaction;  

begin
insert () vlaues();

-- autonomous_transaction 를 사용하려면 commit 해야 함.
-- commit이 없거나 위치가 잘못되면 ORA-06519 자율적인 트랜잭션 사용이 발견되었고 롤백 되었습니다. 오류 발생
commit; -- 필수
RETURN 'OK'; -- 필수
end ;



'DEV > DB' 카테고리의 다른 글

[S2DB] INFORMATION_SCHEMA  (1) 2024.12.05
[S2DB] SinglestoreDB Dbeaver 연결  (1) 2024.12.05
[ORACLE] 시작종료 그룹핑  (1) 2024.11.13
[ORACLE] FROM TO 에 안에 존재하는 날짜 조회  (2) 2024.01.17
[ORACEL] , 콤마구분 조회  (0) 2024.01.09
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함