변수 및 매개 변수 사용(데이터베이스 엔진)

Transact-SQL에는 Transact-SQL 문 간에 데이터를 전달하는 다음과 같은 방법이 있습니다.

  • Transact-SQL 로컬 변수

    Transact-SQL 변수는 데이터 값을 보유할 수 있는 Transact-SQL 일괄 처리 및 스크립트의 개체입니다. 변수를 선언하거나 정의하면 일괄 처리에 있는 한 문이 변수에 값을 설정하고 일괄 처리에 있는 다른 문이 이 변수에서 값을 가져올 수 있습니다. 예를 들면 다음과 같습니다.

    USE AdventureWorks;
    GO
    DECLARE @EmpIDVar int;
    SET @EmpIDVar = 1234;
    SELECT *
    FROM HumanRresources.Employee
    WHERE EmployeeID = @EmpIDVar;
    

    [!참고]

    한 일괄 처리에서 선언할 수 있는 로컬 변수의 최대 개수는 10,000개입니다.

  • Transact-SQL 매개 변수

    매개 변수는 저장 프로시저와 저장 프로시저를 실행하는 일괄 처리 또는 스크립트 간에 데이터를 전달할 때 사용되는 개체입니다. 매개 변수에는 입력 매개 변수와 출력 매개 변수가 있습니다. 예를 들면 다음과 같습니다.

    USE AdventureWorks;
    GO
    CREATE PROCEDURE ParmSample @EmpIDParm int AS
    SELECT EmployeeID, Title
    FROM HumanResources.Employee
    WHERE EmployeeID = @EmpIDParm
    GO
    
    EXEC ParmSample @EmpIDParm = 109
    GO
    

응용 프로그램은 응용 프로그램 변수 및 매개 변수 표식을 사용하여 Transact-SQL 문의 데이터에 대한 작업을 수행합니다.

  • 응용 프로그램 변수

    C, C++, Basic 및 Java와 같은 응용 프로그램 프로그래밍 언어에는 데이터를 보유하는 자체 변수가 있습니다. 데이터베이스 API를 사용하는 응용 프로그램은 Transact-SQL 문에서 반환한 데이터에 대해 작업을 수행하기 전에 먼저 데이터를 응용 프로그램 변수로 이동해야 합니다. 이는 일반적으로 바인딩이라고 하는 프로세스를 통해 이루어집니다. 응용 프로그램은 API 함수를 사용하여 결과 집합 열을 프로그램 변수에 바인딩합니다. 행이 인출되면 API 공급자 또는 드라이버는 열의 데이터를 바인딩된 프로그램 변수로 이동합니다.

  • 매개 변수 표식

    매개 변수 표식은 ADO, OLE DB 및 ODBC 기반 데이터베이스 API에서 지원됩니다. 매개 변수 표식은 Transact-SQL 문에서 입력 식의 위치에 있는 물음표(?)입니다. 매개 변수 표식은 응용 프로그램 변수에 바인딩됩니다. 이렇게 하면 응용 프로그램 변수의 데이터를 Transact-SQL 문에서 입력으로 사용할 수 있습니다. 매개 변수 표식은 또한 저장 프로시저 출력 매개 변수와 반환 코드를 응용 프로그램 변수에 바인딩할 수 있습니다. 그러면 출력 데이터는 프로시저가 실행될 때 바인딩된 변수로 반환됩니다. DB-Library API 또한 저장 프로시저 매개 변수 및 반환 코드를 프로그램 변수에 바인딩하는 것을 지원합니다.