다음을 통해 공유


SQL 어댑터를 사용하여 테이블 및 뷰에서 작업 삽입, 업데이트, 삭제 및 선택

SQL Server용 Microsoft BizTalk 어댑터는 SQL Server 데이터베이스의 각 테이블과 뷰에 대한 표준 작업 집합을 표면화합니다. 이러한 작업을 사용하면 대상 테이블 또는 뷰에서 WHERE 절로 한정된 간단한 INSERT, UPDATE, SELECT 및 DELETE 문을 실행할 수 있습니다. 이러한 작업을 DML(데이터 조작 언어) 작업이라고도 합니다.

다음 표에서는 SQL 어댑터가 지원하는 DML 작업을 보여 줍니다.

작업(Operation) Description
삽입 대상 테이블 또는 뷰에서 삽입 작업을 수행합니다.

- 삽입 작업은 레코드 배열을 입력으로 사용합니다. 각 레코드는 대상 테이블에 강력하게 입력되며 테이블에 삽입되는 행에 매핑됩니다.
- AllowIdentityInsert 바인딩 속성의 값이 TRUE로 설정된 경우 ID 열에 값을 삽입할 수 있습니다. AllowIdentityInsert 바인딩 속성에 대한 자세한 내용은 SQL Server 어댑터 바인딩 속성에 대한 BizTalk 어댑터에 대한 읽기를 참조하세요.
- 삽입 작업의 반환 값은 Long 데이터 형식의 배열입니다. 이 배열은 삽입된 행의 ID 값(있는 경우)을 저장합니다. 테이블에 ID 열이 없으면 반환 값은 NULL입니다.

삽입 작업 메시지의 일부 값은 SQL 어댑터에서 다음과 같은 방식으로 처리됩니다.

- 계산 열 및 타임스탬프 열에 지정된 값은 무시됩니다.
- ID 열의 노드가 null이면 무시됩니다.

삽입 작업 메시지의 다른 모든 값에 대해 다음을 수행합니다.

- 열에 대해 값을 지정하면 해당 값이 INSERT 문에 사용됩니다.
- 특정 열의 노드가 null이면 INSERT 문에 NULL이 사용됩니다. 참고: 특정 레코드에 대해 INSERT 문에 사용할 수 있는 값이 없는 경우(즉, 열에 대해 값이 지정되지 않았거나 모든 열 값이 무시됨) 어댑터는 다음 SQL 문을 실행합니다. insert into <table_name> default values
선택 레코드 배열(열) 및 WHERE 절을 지정하는 쿼리 문자열을 기반으로 대상 테이블 또는 뷰에서 SELECT 문을 수행합니다.

- SELECT 문의 열 목록에 대해 값을 지정해야 합니다. 테이블 또는 뷰에서 모든 열을 검색해야 하는 경우 SELECT 문에 *를 지정해야 합니다. 특정 열을 검색해야 하는 경우 열 이름은 쉼표로 구분하고 테이블 또는 뷰에 정의된 순서와 동일한 순서로 지정해야 합니다.
- WHERE 절은 SELECT 문에 포함되어야 합니다. 그러나 WHERE 절에서 값을 지정하지 않으려면 요소를 삭제 Query 하거나 비워 둘 수 있습니다.
- 선택 작업을 사용하면 업데이트 작업을 수행할 수도 있습니다. 이 경우 UPDATE 문은 SELECT 문의 요소 내에 Query 배치됩니다.

Select 작업의 반환 값은 대상 테이블 또는 뷰에서 지정된 열과 행을 포함하는 강력한 형식의 결과 집합입니다.
업데이트 대상 테이블 또는 뷰에서 업데이트 작업을 수행합니다.

- 업데이트 작업은 레코드 쌍의 배열을 입력으로 사용합니다. 각 레코드 쌍은 두 레코드의 컬렉션이며 각 레코드는 대상 테이블에 강력한 형식으로 지정됩니다.

- 첫 번째 레코드는 업데이트해야 하는 새 값, 즉 UPDATE 문의 SET 절에 해당합니다.
- 두 번째 레코드는 행의 이전 값, 즉 UPDATE 문의 WHERE 절에 해당합니다. 참고: 특정 레코드 쌍에 대해 SET 절에 사용할 수 있는 값이 없는 경우 해당 레코드 쌍에 대해 UPDATE 문이 실행되지 않습니다.
- AllowIdentityInsert 바인딩 속성의 값이 TRUE로 설정된 경우 ID 열의 값을 업데이트할 수 있습니다. AllowIdentityInsert 바인딩 속성에 대한 자세한 내용은 SQL Server 어댑터 바인딩 속성에 대한 BizTalk 어댑터에 대한 읽기를 참조하세요.
- 업데이트 작업의 반환 값은 Int32 데이터 형식이며 업데이트된 행 수를 나타냅니다.
업데이트 작업 메시지의 일부 값은 SQL 어댑터에서 다음과 같은 방식으로 처리됩니다.

- 메시지의 SET 절에 있는 계산 열 및 타임스탬프 열에 대해 지정된 값은 무시됩니다.
- UDT(사용자 정의 형식)가 바이트 순서가 지정되지 않은 경우 WHERE 절의 UDT 열에 대해 지정된 값은 무시됩니다.
- 메시지의 SET 절에서 ID 열의 노드가 null이면 무시됩니다.
- ID 또는 타임스탬프 열의 노드가 메시지의 WHERE 절에서 null이면 무시됩니다.
- 메시지의 WHERE 절에서 이미지, XML, 텍스트 또는 Ntext 열의 노드가 null이 아닌 경우 이러한 값을 비교할 수 없으므로 해당 노드에 지정된 값은 무시됩니다.

업데이트 작업 메시지의 다른 모든 값에 대해 다음을 수행합니다.

- UPDATE 문의 SET 절에 있는 열에 대해 값을 지정하는 경우 값은 문의 SET 절(set <column_name> = <value>)에서 사용됩니다.
- SET 절에서 특정 열의 노드가 null이면 UPDATE 문(set <column_name> = null)에서 NULL이 사용됩니다.
- UPDATE 문의 WHERE 절에 있는 열에 대해 값을 지정하는 경우 해당 값은 문의 WHERE 절(where <column_name> = <value>)에서 사용됩니다.
- UPDATE 문의 WHERE 절에서 특정 열의 노드가 null이면 UPDATE 문(where <column_name> is null)에서 NULL이 사용됩니다.
삭제 대상 테이블의 강력한 형식의 레코드 배열(열 이름 목록)과 WHERE 절을 지정하는 필터 문자열을 기반으로 대상 테이블 또는 뷰에서 삭제 작업을 수행합니다.

삭제 작업의 반환 값은 Int32 데이터 형식이며 삭제된 행 수를 나타냅니다.

삭제 작업 메시지의 일부 값은 SQL 어댑터에서 다음과 같은 방식으로 처리됩니다.

- 메시지의 WHERE 절에서 이미지, XML, 텍스트 또는 Ntext 열의 노드가 null이 아닌 경우 이러한 값을 비교할 수 없으므로 해당 노드에 지정된 값은 무시됩니다.
- ID 또는 타임스탬프 열의 노드가 null이면 무시됩니다.
- UDT가 바이트 순서가 지정되지 않은 경우 WHERE 절의 UDT 열에 대해 지정된 값이 무시됩니다.

삭제 작업 메시지의 다른 모든 값에 대해 다음을 수행합니다.

- 열에 값을 지정하면 DELETE 문의 WHERE 절(where <column_name> = <value>)에 값이 사용됩니다.
- 특정 열의 노드가 null이면 DELETE 문(where <column_name> is null)에서 NULL이 사용됩니다. 참고: 특정 레코드에 대해 DELETE 문에 사용할 수 있는 값이 없는 경우(즉, 열에 대해 값이 지정되지 않았거나 모든 열 값이 무시된 경우) 어댑터는 DELETE 문을 실행하지 않습니다.

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

참고 항목

어댑터를 사용하여 SAP 시스템에 연결