변경할 수없는 Oracle 데이터베이스에 PL/SQL 함수가 있습니다. 이 함수는 엔터티를 식별하고 해당 엔터티의 복사본을 만든 다음 복사본의 ID를 반환하는 매개 변수를 사용합니다. 이Hibernate를 통한 PL/SQL 함수의 리턴 값 얻기
기능의 copy_entity (번호 ID) RETURN 번호
나 최대 절전 모드에서이 함수를 호출 할 필요가같이 보입니다. (: ID) 나는
CALL의 copy_entity 비슷한으로 명명 된 SQL 쿼리 생성 시도 쿼리로
을하지만,이에서 나는 함수의 반환 값을 얻을 수 없습니다. Hibernate의 "return-scalar"와 유사한 옵션은 반환 할 열 이름을 필요로하며 열 이름이 없습니다. 이 날 이끌어
SELECT copy_entity (: ID) newEntityId AS
"-돌아 스칼라"열 이름으로 newEntityId를 사용하지만, 오라클은 그때 호출 할 수 없습니다 예외가 발생하기 때문에이 또한 작동하지 않았다와INSERT (복사본을 저장) SELECT.
그런 PL/SQL 함수의 리턴 값을 얻는 방법이 있습니까? 이 함수는 사실 훨씬 더 복잡하고 여전히 앱의 다른 부분에서 필요하므로 다시 작성하는 것은 실제로 선택 사항이 아닙니다. myresult = copy_entity (: ID) 을 시작
: 나는/희망
"DUAL에서 rtnID로 copy_entity (id)를 선택 하시겠습니까?" – dpbradley
아니요. SELECT에서 삽입 또는 업데이트 할 수 없으므로 ORA-14551 예외가 발생합니다. –