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 문을 실행하지 않습니다. |
조건부 액세스에 대한 자세한 내용은
BizTalk Server 사용하여 이러한 작업을 수행하려면 SQL 어댑터에서 BizTalk Server 사용하여 작업 삽입, 업데이트, 삭제 또는 선택을 참조하세요.
DML 작업을 수행하기 위한 메시지 구조 및 SOAP 작업은 테이블 및 뷰에서 삽입, 업데이트, 삭제 및 선택 작업에 대한 메시지 스키마를 참조하세요.