TABLE 또는 MAP 문 내에 SQLEXEC 적용
TABLE 또는 MAP 문 내에서 사용되는 경우 SQLEXEC는 매개변수를 전달하고 수락할 수 있습니다. 프로시저와 query에는 사용할 수 있지만 데이터베이스 명령에는 사용할 수 없습니다.
구문
이 구문은 TABLE 또는 MAP 문 내의 프로시저를 실행합니다.
SQLEXEC (SPNAME *sp_name*,
[ID *logical_name*,]
{PARAMS *param_spec* | NOPARAMS})
| — | — |
SPNAME |
내장 프로시저를 실행하는 절을 시작하는 필수 키워드입니다. |
sp_name |
실행할 내장 프로시저의 이름을 지정합니다. |
ID logical_name |
프로시저의 논리적 이름을 정의합니다. 이 옵션을 사용하여 TABLE 또는 MAP 문 내에서 프로시저를 여러 번 실행합니다. 프로시저를 한 번만 실행할 때는 필요하지 않습니다. |
PARAMS param_spec | NOPARAMS |
프로시저에서 매개변수를 사용할지 여부를 지정합니다. 이러한 옵션 중 하나를 사용해야 합니다(입력 및 출력 매개변수 사용 참조). |
구문
이 구문은 TABLE 또는 MAP 문 내에서 질의를 실행합니다.
SQLEXEC (ID *logical_name*, QUERY ' *query* ',
{PARAMS *param_spec* | NOPARAMS})
| — | — |
ID logical_name |
질의에 대한 논리적 이름을 정의합니다. 질의 결과에서 값을 추출하려면 논리적 이름이 필요합니다. ID logical_name는 질의에서 반환된 열 값을 참조합니다. |
QUERY ' sql_query ' |
데이터베이스에 대해 실행할 SQL 질의 구문을 지정합니다. SELECT 문으로 결과를 반환하거나 INSERT, UPDATE 또는 DELETE 문을 사용하여 데이터베이스를 변경할 수 있습니다. 질의는 작은 따옴표 안에 있어야 하며 한 행에 모두 포함되어야 합니다. 대소문자를 구분하는 Oracle 이름의 따옴표와 같이 데이터베이스에 저장되는 방식으로 대소문자를 구분하는 객체 이름을 지정합니다. SQLEXEC 'SELECT "col1" from "schema"."table"' |
{::nomarkdown} <pre class="pre codeblock">PARAMS param_spec |
NOPARAMS</code></pre> {:/} |
질의가 매개변수를 수락할지 여부를 정의합니다. 이러한 옵션 중 하나를 사용해야 합니다(입력 및 출력 매개변수 사용 참조). |
현재 데이터베이스와는 다른 데이터베이스에 상주하는 테이블에 대해 query를 실행하려면 다른 데이터베이스 이름을 테이블에 지정해야 합니다. 데이터베이스 이름과 테이블 이름 사이의 구분자는 콜론(:)이어야 합니다.
다음은 몇 가지 사용 사례입니다.
select col1 from db1:tab1
select col2 from db2:schema2.tab2
select col3 from tab3
select col3 from schema4.tab4