합격자 목록
일반적으로 여러 항목을 SQL 저장 프로시저에 전달하려면 지루한 문자열 조작과 구분 기호로 구분된 ID를 연결해야 했습니다. 이 접근 방식은 성능과 유연성 측면에서 최적이 아닐 수 있습니다. 그러나 SQL Server 2008의 등장과 함께 "테이블 반환 매개변수"라는 새로운 기능이 뛰어난 솔루션으로 등장했습니다.
테이블 반환 매개변수를 활용하여 개발자는 그런 다음 해당 유형의 값 목록을 단일 매개변수로 저장 프로시저에 전달합니다. 이 접근 방식을 사용하면 수동으로 문자열을 연결할 필요가 없으며 여러 가지 이점을 제공합니다.
테이블 반환 매개 변수를 활용하려면 개발자는 데이터베이스에 사용자 정의 테이블 유형을 만든 다음 이 유형을 매개 변수로 허용하도록 저장 프로시저를 수정해야 합니다. 아래 코드 조각은 이 접근 방식을 구현하는 방법을 보여줍니다.
C# 코드:
public void AddItemsToReport(string connStr, int Id, List<int> itemList) { using (SqlConnection _connection = new SqlConnection(connStr)) { using (SqlCommand _sqlcommand = new SqlCommand("AddItemsToReport", _connection)) { _sqlcommand.CommandType = CommandType.StoredProcedure; _sqlcommand.Parameters.AddWithValue("ReportId", Id); _sqlcommand.Parameters.AddWithValue("Items", itemList); _connection.Open(); _sqlcommand.ExecuteNonQuery(); } } }
SQL 저장 프로시저:
CREATE PROCEDURE AddItemsToReport (@ReportId int, @Items IntArray) AS BEGIN -- Insert each item into ReportItem table INSERT INTO ReportItem (ReportId, ItemId) SELECT @ReportId, Item FROM @Items END
이 예에서 "IntArray" 유형은 매핑하는 사용자 정의 테이블 유형입니다. List
위 내용은 SQL 저장 프로시저에 목록을 효율적으로 전달하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!