전역 임시 테이블을 채우는 저장 프로시저가 있습니다.
으아악저장 프로시저를 실행하고 임시 테이블에 추가된 행을 선택하고 싶습니다.
으아악이 코드에는 행이 없습니다. 그래서 나는 데이터베이스에 대한 동일한 왕복 여행에 선택 항목을 넣기로 결정했습니다.
으아악다음과 같은 오류가 발생합니다.
으아악BEGIN ... END 안에 SELECT를 넣으면 다음 오류가 발생합니다.
으아악임시 테이블을 채운 다음 선택하는 저장 프로시저를 PHP에서 어떻게 실행하나요?
SQL Developer에서는 작동하지만 PHP에서는 작동하지 않습니다.
사용:
CREATE GLOBAL TEMPORARY TABLE temptable ( ... ) ON COMMIT DELETE ROWS;
P粉4329300812023-09-10 12:29:41
첫 번째 문제는 oci_execute()
默认提交,因此调用 POPULATETEMPTABLE
插入的任何行都会被 ON COMMIT DELETE ROWS 清除;
정의 때문입니다.
다음으로 변경하여 이 문제를 해결하세요.
으아악SELECT를 PL/SQL 블록에 넣을 때 발생하는 두 번째 문제는 이것이 유효하지 않은 PL/SQL이기 때문입니다. 참조 커서 또는 암시적 결과 세트를 사용하십시오. OCI8 문서 또는 Underground PHP 및 Oracle 매뉴얼
을 참조하세요.