refs #731: fix autonomous vector example storage

This commit is contained in:
devmrko
2026-07-24 15:53:47 +09:00
parent 8e4d2f656f
commit c8fa6af679
2 changed files with 10 additions and 0 deletions

View File

@@ -52,6 +52,10 @@ END;
SELECT sg_qa_vector_context(:question, 3) FROM dual;
```
`SG_QA_VECTOR_STORE`는 SQL `SELECT` 표현식으로 호출되는 저장 함수이므로,
함수 내부의 INSERT는 자율 트랜잭션으로 수행하고 성공 시 commit, 실패 시 rollback
한다. 이 처리가 없으면 Oracle은 `ORA-14551`로 DML을 거절한다.
## Apply
```bash

View File

@@ -94,6 +94,7 @@ CREATE OR REPLACE FUNCTION sg_qa_vector_store(
) RETURN NUMBER
AUTHID DEFINER
IS
PRAGMA AUTONOMOUS_TRANSACTION;
v_input CLOB;
v_embedding VECTOR;
v_example_id NUMBER;
@@ -116,7 +117,12 @@ BEGIN
p_question, p_answer_sql, p_answer, v_input, v_embedding, 'cohere.embed-v4.0'
) RETURNING example_id INTO v_example_id;
COMMIT;
RETURN v_example_id;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RAISE;
END;
/