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 절을 기반으로 대상 테이블 또는 뷰에서 삭제 작업을 수행합니다. 삭제 작업의 반환 값은 삭제된 행의 수입니다. |
조건부 액세스에 대한 자세한 내용은
BizTalk Server 사용하여 이러한 작업을 수행하려면 BizTalk Server 사용하여 삽입, 업데이트, 삭제 및 작업 선택을 참조하세요.
WCF 서비스 모델을 사용하여 이러한 작업을 수행하려면 WCF 서비스 모델을 사용하여 삽입, 업데이트, 삭제 및 작업 선택을 참조하세요.
WCF 채널 모델을 사용하여 이러한 작업을 수행하려면 WCF 채널 모델을 사용하여 Oracle Database에서 삽입 작업 실행을 참조하세요.
DML 작업을 수행하기 위한 메시지 구조 및 SOAP 작업은 테이블 및 뷰에서 기본 삽입, 업데이트, 삭제 및 선택 작업에 대한 메시지 스키마를 참조하세요.