Oracle에는 동적 문이 있습니다. 동적 문은 컴파일 시 불확실한 SQL 문을 의미하며, 컴파일러는 동적 문 부분을 처리하지 않고 프로그램이 실행될 때만 동적으로 문을 생성하고 문에 대한 구문 분석을 수행합니다. 구문을 실행하는 경우 구문은 "EXECUTE IMMEDIATE 동적 SQL 문 문자열 INTO 절 USING 절"입니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 버전 12c, Dell G3 컴퓨터.
oracle에 동적 문이 있습니까?
소위 동적 SQL은 PL/SQL 블록이 컴파일될 때 SQL 문이 불확실하다는 것을 의미합니다. 다양한 사용자 입력 매개변수를 기반으로 수행됩니다. 컴파일러는 동적문 부분을 처리하지 않고, 프로그램 실행 중에만 동적으로 구문을 생성하고 해당 구문에 대한 구문 분석을 수행한 후 해당 구문을 실행합니다. ORACLE의 동적 SQL은 로컬 동적 SQL 명령이나 DBMS_SQL 패키지를 통해 실행될 수 있습니다.
일반적으로 개발 중에는 간단한 로컬 동적 SQL을 사용하여 아래에서 다른 방법을 사용하여 문제를 해결할 수 있습니다. 로컬 동적 SQL을 실행하기 위한 구문은 다음과 같습니다.
EXECUTE IMMEDIATE dynamic_sql_string [INTO define_variable_list] [USING bind_argument_list];
여기서: Dynamic_sql_string은 동적 SQL 문 문자열입니다. INTO 절은 SELECT 문에서 선택한 레코드 값을 수락하는 데 사용됩니다. USING 절은 바인딩된 입력 매개변수 변수를 허용하는 데 사용됩니다.
SQL 동적 문은 프로그램이나 저장 프로시저에 의해 생성된 SQL 문으로, 이러한 문의 특징은 단순히 실행할 수 없다는 것입니다. 표준이 아니며 변경 구성 요소를 포함하기 때문에 ORACLE은 동적 SQL 문을 실행하기 위한 모드를 제공합니다.
EXECUTE IMMEDIATE
이 문장의 의미는 실행 프로세스 중에 먼저 구문 검사를 수행하지 않고 즉시 실행한다는 것입니다. 오류 인터럽트를 통해 처리됩니다.
예제는 다음과 같습니다.
이 코드는 생성된 동적 SQL을 먼저 실행한 후, 매개변수를 사용하여 SELECT 문을 실행하는 코드입니다. EXECUTE IMMEDIATE 문은 단일 행을 반환하거나 아무것도 반환하지 않는 SQL 문을 처리하는 데만 사용할 수 있습니다. 여러 행을 반환하는 동적 SQL을 처리하려면 REF 커서의 OPEN...FOR 문을 사용해야 합니다.
추천 튜토리얼: "Oracle Video Tutorial"
위 내용은 오라클에 동적문이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!