다음을 통해 공유


Oracle 테이블 및 뷰에서 작업 삽입, 업데이트, 삭제 및 선택

Oracle 데이터베이스용 Microsoft BizTalk 어댑터는 각 Oracle 데이터베이스 테이블 및 뷰에서 일련의 표준 작업을 표시합니다. 이러한 작업을 사용하면 대상 테이블(또는 뷰)의 WHERE 절로 정규화된 간단한 SQL INSERT, UPDATE, SELECT 및 DELETE 문을 수행할 수 있습니다. 이러한 작업을 DML(데이터 조작 언어) 작업이라고도 합니다. JOIN 연산자를 사용하는 SQL SELECT 쿼리와 같이 더 복잡한 작업을 수행하려면 SQLEXECUTE 작업을 사용할 수 있습니다. SQLEXECUTE 작업에 대한 자세한 내용은 Oracle Database의 SQLEXECUTE 작업을 참조하세요.

다음 표에서는 Oracle 데이터베이스 어댑터가 지원하는 DML 작업을 보여 줍니다.

작업(Operation) Description
삽입 대상 테이블 또는 뷰에서 삽입 작업을 수행합니다. 삽입 작업은 대상 테이블 또는 뷰에 여러 레코드 또는 대량 삽입을 지원합니다.

- 여러 레코드 삽입 작업은 제공된 레코드 집합에 따라 테이블 또는 뷰에 행을 삽입합니다.

- 대량 삽입 작업은 제공된 SQL SELECT 쿼리 및 열 목록에 따라 테이블 또는 뷰에 행을 삽입합니다. 쿼리가 반환하는 레코드는 열 목록을 기반으로 대상 테이블에 삽입됩니다.

삽입 작업의 반환 값은 삽입된 행 수입니다.

참고: 다중 레코드 삽입과 대량 삽입은 모두 동일한 메시지에서 결합할 수 없습니다.

InlineValue

여러 레코드 삽입 작업의 모든 단순 데이터 레코드의 경우 InlineValue라는 선택적 특성에 대한 값을 지정하여 레코드 값을 재정의하도록 선택할 수 있습니다. InlineValue 특성을 사용하여 시퀀스를 사용하여 기본 키 열을 채거나 시스템 날짜(SYSDATE 사용)를 날짜 열에 삽입하는 등의 테이블 또는 뷰에 계산된 값을 삽입할 수 있습니다. 예를 들어 다음 INSERT 문에서 다음을 수행합니다.

<Insert xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/ACCOUNTACTIVITY"> <RECORDSET> <ACCOUNTACTIVITYRECORDINSERT> <ACCOUNT>10001</ACCOUNT> <EMPNAME>John</EMPNAME> <AMOUNT>1500</AMOUNT> <TRANSDATE InlineValue="SYSDATE">2008-06-21T15:52:19</TRANSDATE> </ACCOUNTACTIVITYRECORDINSERT > </RECORDSET> </Insert>

"2008-06-21T15:52:19"가 TRANSDATE 열의 값으로 지정되더라도 InlineValue 특성 "SYSDATE"(시스템 날짜)의 값이 대상 테이블에 삽입됩니다.

InlineValue 특성을 사용하는 동안:

- InlineValue 특성에 상수 값을 사용하지 않습니다. 예를 들어 INSERT 문에서 를 지정 <EMPNAME InlineValue="John"/> 하면 오류가 발생합니다. InlineValue 특성의 값이 Oracle에 있는 그대로 전달되고 이 경우 John 은 예상 값이 아닌 Oracle 데이터베이스에 전달되기 때문입니다(예상 값은 'John'). 직원 이름 주위에 작은따옴표를 사용해야 합니다. 예: <EMPNAME InlineValue="’John’"/>

- InlineValue 특성에 대해 선택 쿼리를 사용하려면 SELECT 문을 괄호로 묶고 선택 쿼리가 단일 레코드만 가져오도록 해야 합니다. 예: <EMPNAME InlineValue="(SELECT NAME FROM MS_SAMPLE_EMPLOYEES WHERE ID=123)"/>

참고: Oracle 데이터베이스에서 요소가 NOT NULL로 표시된 경우 인라인 값을 지정한 경우에도 해당 요소의 값을 지정해야 합니다. 이렇게 하지 않으면 스키마 유효성 검사가 실패합니다.
선택 제공된 열 이름 목록과 SQL WHERE 절을 지정하는 필터 문자열을 기반으로 대상 테이블 또는 뷰에서 SQL SELECT 쿼리를 수행합니다.

Select 작업의 반환 값은 지정된 열과 행을 포함하는 강력한 형식의 결과 집합입니다.
업데이트 대상 테이블 또는 뷰에서 업데이트 작업을 수행합니다. 업데이트할 레코드는 SQL WHERE 절을 지정하는 필터 문자열로 지정됩니다. 업데이트 값은 템플릿 레코드에 지정됩니다.

업데이트 작업의 반환 값은 업데이트된 행 수입니다.
삭제 필터 문자열에 지정된 SQL WHERE 절을 기반으로 대상 테이블 또는 뷰에서 삭제 작업을 수행합니다.

삭제 작업의 반환 값은 삭제된 행의 수입니다.

조건부 액세스에 대한 자세한 내용은

참고 항목

어댑터를 사용하여 수행할 수 있는 작업은 무엇인가요?