임시 테이블을 채운 다음 임시 테이블에서 선택하는 저장 프로시저를 실행합니다.
P粉551084295
P粉551084295 2023-09-09 14:20:33
0
1
457

전역 임시 테이블을 채우는 저장 프로시저가 있습니다.

으아악

저장 프로시저를 실행하고 임시 테이블에 추가된 행을 선택하고 싶습니다.

으아악

이 코드에는 행이 없습니다. 그래서 나는 데이터베이스에 대한 동일한 왕복 여행에 선택 항목을 넣기로 결정했습니다.

으아악

다음과 같은 오류가 발생합니다.

으아악

BEGIN ... END 안에 SELECT를 넣으면 다음 오류가 발생합니다.

으아악

임시 테이블을 채운 다음 선택하는 저장 프로시저를 PHP에서 어떻게 실행하나요?

SQL Developer에서는 작동하지만 PHP에서는 작동하지 않습니다.

사용:

CREATE GLOBAL TEMPORARY TABLE temptable
(
...
)
ON COMMIT DELETE ROWS;

P粉551084295
P粉551084295

모든 응답(1)
P粉432930081

첫 번째 문제는 oci_execute() 默认提交,因此调用 POPULATETEMPTABLE 插入的任何行都会被 ON COMMIT DELETE ROWS 清除;정의 때문입니다.

다음으로 변경하여 이 문제를 해결하세요.

으아악

SELECT를 PL/SQL 블록에 넣을 때 발생하는 두 번째 문제는 이것이 유효하지 않은 PL/SQL이기 때문입니다. 참조 커서 또는 암시적 결과 세트를 사용하십시오. OCI8 문서 또는 Underground PHP 및 Oracle 매뉴얼

을 참조하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿