SQL 저장 프로시저에 테이블 반환 매개변수 목록 전달
특정 레코드와 연결된 여러 항목으로 데이터베이스 테이블을 채우는 시나리오는 다음과 같습니다. 데이터 조작의 일반적인 문제입니다. 기존 접근 방식에는 매개 변수 값을 반복적으로 전달하거나 문자열 조작을 사용하는 것이 포함되지만 보다 효율적인 솔루션을 사용할 수 있습니다.
해결책: SQL Server 2008의 테이블 값 매개 변수
SQL Server 2008년에는 구조화된 데이터 모음을 저장 프로시저에 매개 변수로 전달할 수 있는 테이블 반환 매개 변수가 도입되었습니다. 이렇게 하면 복잡한 문자열 조작이나 반복적인 매개 변수 처리가 필요하지 않습니다.
제공된 코드에서 "AddItemsToReport" 저장 프로시저는 테이블 반환 매개 변수를 허용하도록 업데이트될 수 있습니다.
ALTER PROCEDURE AddItemsToReport ( @ReportId int, @Items AS ItemList -- User-defined table type ) AS BEGIN INSERT INTO ReportItem (ReportId, ItemId) SELECT @ReportId, Id FROM @Items END
항목 목록에 대한 사용자 정의 테이블 유형
항목 목록에 대한 사용자 정의 테이블 유형을 생성하려면 다음을 실행합니다. 다음 SQL 문:
CREATE TYPE ItemList AS TABLE ( Id int )
C#에서 테이블 값 매개 변수 전달
C# 코드에서 사용자 정의 테이블 유형의 인스턴스를 만듭니다.
var itemList = new ItemList(); itemList.Rows.Add(1); itemList.Rows.Add(2); itemList.Rows.Add(3);
그런 다음 테이블 반환 매개변수를 저장된 매개변수에 전달합니다. 절차:
dbCommand.AddInParameter(dbCommand, "Items", DbType.Object, itemList);
테이블 값 매개변수의 이점
위 내용은 테이블 반환 매개 변수는 어떻게 SQL 저장 프로시저 성능과 코드 단순성을 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!