다음을 통해 공유


매개 변수 쿼리(Visual Database Tools)

적용 대상:SQL Server

경우에 따라 매번 다른 값을 사용하여 여러 번 사용할 수 있는 쿼리를 만들려고 합니다. 예를 들어 쿼리를 자주 실행하여 한 작성자가 작성한 모든 title_ids 찾을 수 있습니다. 작성자의 ID 또는 이름이 매번 다르다는 점을 제외하고 각 요청에 대해 동일한 쿼리를 실행할 수 있습니다.

서로 다른 시간에 다른 값을 가질 수 있는 쿼리를 만들려면 쿼리에서 매개 변수를 사용합니다. 매개 변수는 쿼리가 실행될 때 제공되는 값의 자리 표시자입니다. 매개 변수가 있는 SQL 문은 다음과 같을 수 있습니다. 여기서 "?"는 작성자의 ID에 대한 매개 변수를 나타냅니다.

SELECT title_id
FROM titleauthor
WHERE (au_id = ?)

매개 변수를 사용하는 경우

텍스트 또는 숫자 값에 대해 매개 변수를 리터럴 값의 자리 표시자로 사용할 수 있습니다. 가장 일반적으로, 매개 변수는 개별 행이나 그룹에 대한 검색 조건에서 자리 표시자로 사용되며, 이는 SQL 문의 WHERE 절이나 HAVING 절에서 활용됩니다.

식에서 매개 변수를 자리 표시자로 사용할 수 있습니다. 예를 들어 쿼리를 실행할 때마다 다른 할인 값을 제공하여 할인된 가격을 계산할 수 있습니다. 이렇게 하려면 다음 식을 지정할 수 있습니다.

(price * ?)

명명되지 않은 매개 변수 및 명명된 매개 변수 지정

명명되지 않은 매개 변수와 명명된 매개 변수의 두 가지 형식을 지정할 수 있습니다. 명명되지 않은 매개 변수는 리터럴 값을 입력하거나 대체하려는 쿼리의 아무 곳에나 배치하는 물음표(?)입니다. 예를 들어 명명되지 않은 매개 변수를 사용하여 titleauthor 테이블에서 작성자의 ID를 검색하는 경우 SQL 창 결과 문은 다음과 같습니다.

SELECT title_id
FROM titleauthor
WHERE (au_id = ?)

쿼리 및 뷰 디자이너 도구에서 쿼리를 실행하면 쿼리 매개 변수 대화 상자가 매개 변수의 이름으로 "?"로 표시됩니다.

또는 매개 변수에 이름을 할당할 수 있습니다. 명명된 매개 변수는 쿼리에 여러 매개 변수가 있는 경우에 특히 유용합니다. 예를 들어 명명된 매개 변수를 사용하여 authors 테이블에서 작성자의 이름과 성을 검색하는 경우 SQL 창의 결과 문은 다음과 같을 수 있습니다.

SELECT au_id
FROM authors
WHERE au_fname = %first name% AND
      au_lname = %last name%

명명된 매개 변수 쿼리를 만들기 전에 접두사 및 접미사 문자를 정의해야 합니다.

쿼리 및 뷰 디자이너에서 쿼리를 실행하면 쿼리 매개 변수 대화 상자가 명명된 매개 변수 목록과 함께 표시됩니다.