>데이터 베이스 >MySQL 튜토리얼 >ADO.NET을 사용하여 테이블 반환 매개 변수를 저장 프로시저에 전달하는 방법은 무엇입니까?

ADO.NET을 사용하여 테이블 반환 매개 변수를 저장 프로시저에 전달하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-11 10:57:42975검색

How to Pass Table-Valued Parameters to Stored Procedures using ADO.NET?

ADO.NET을 사용하여 테이블 값 매개변수를 저장 프로시저에 전달

테이블 값 매개변수는 데이터세트를 저장 프로시저에 전달하는 간소화된 방법을 제공합니다. 이 가이드에서는 ADO.NET 내에서 이 기능을 구현하는 방법을 보여줍니다.

1. SQL Server에서 사용자 정의 테이블 유형 정의

먼저 SQL Server 데이터베이스 내에서 테이블 반환 매개 변수의 구조 역할을 할 사용자 정의 테이블 유형을 만듭니다.

<code class="language-sql">CREATE TYPE [dbo].[MyDataType] As Table
(
    ID INT,
    Name NVARCHAR(50)
)</code>

2. 저장 프로시저 생성

다음으로 이 사용자 정의 테이블 유형을 매개변수로 받아들이는 저장 프로시저를 만듭니다.

<code class="language-sql">CREATE PROCEDURE [dbo].[MyProcedure]
(
    @myData [dbo].[MyDataType] READONLY
)
AS
BEGIN
    SELECT * FROM @myData
END</code>

3. C#에서 데이터 테이블 구성

C# 코드에서 SQL Server 테이블 유형의 구조를 미러링하는 DataTable을 작성하세요.

<code class="language-csharp">DataTable myDataTable = new DataTable("MyDataType");
myDataTable.Columns.Add("Name", typeof(string));
myDataTable.Columns.Add("Id", typeof(int));
myDataTable.Rows.Add("XYZ", 1);
myDataTable.Rows.Add("ABC", 2);</code>

4. SQL매개변수 구성

마지막으로 SqlParameter 개체를 생성하고 테이블 반환 매개변수를 나타내도록 구성합니다.

<code class="language-csharp">SqlParameter parameter = new SqlParameter();
parameter.ParameterName = "@myData";
parameter.SqlDbType = System.Data.SqlDbType.Structured;
parameter.TypeName = "[dbo].[MyDataType]"; // Specify the type name
parameter.Value = myDataTable;
command.Parameters.Add(parameter);</code>

이러한 단계를 수행하면 ADO.NET을 사용하여 테이블 반환 매개변수를 저장 프로시저에 효율적으로 전달할 수 있습니다. [dbo].[MyDataType]을 사용자 정의 테이블 유형의 실제 이름으로 바꾸십시오.

위 내용은 ADO.NET을 사용하여 테이블 반환 매개 변수를 저장 프로시저에 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.