SQL 서버에 저장 프로시저를 매개 변수를
이전 튜토리얼에서,당신은 당신을 만드는 방법에 대해 알아보았는 간단한 저장 프로시저는 랩SELECT
문입니다. 이 저장 프로 시저를 호출하면 쿼리를 실행하고 결과 집합을 반환하기 만하면됩니다.
이 자습서에서는 하나 이상의 값을 전달할 수있는 저장 프로 시저를 확장합니다. 저장 프로 시저의 결과는 매개 변수의 값에 따라 변경됩니다.,저장 프로시저를 만드는 한 매개변수
같은 제품 목록에서products
테이블에서 샘플 데이터베이스
을 만들 수 있습 저장 프로시저는 랩이 쿼리를 사용하는CREATE PROCEDURE
성명:
Code language: SQL (Structured Query Language) (sql)
그러나, 이 시간을 추가할 수 있습니다 매개변수를 저장 프로시저는 제품을 찾을 수있는 가격은 보다 큰 입력 가격:
이 예에서는 다음과 같습니다.
- 첫째,우리가 추가 매개 변수라는
@min_list_price
을uspFindProducts
저장된 절차입니다., 모든 매개 변수는@
기호로 시작해야합니다.AS DECIMAL
키워드는@min_list_price
매개 변수의 데이터 유형을 지정합니다. 매개 변수는 개폐 대괄호로 둘러싸여 야합니다. - 두 번째,우리가 사용하는
@min_list_price
에서 매개 변수를WHERE
절의SELECT
진술을 구축하는 데 필 제품의 가격은 보다 크거나 같은@min_list_price
.,
저장 프로시저를 실행하도 하나의 매개변수와 함께
를 실행하는uspFindProducts
저장 프로시저를 통과 인수 그것은 다음과 같다:
Code language: SQL (Structured Query Language) (sql)
저장 프로시저를 반환하는 모든 제품의 가격은 보다 크거나 같은 100 이다.,
을 변경하는 경우 인수게 200,당신을 얻을 것입니다 다른 결과를 설정:
Code language: SQL (Structured Query Language) (sql)
저장 프로시저를 만드는 방법과 여러 매개변수
저장 프로시저를 취할 수 있는 하나 이상 매개 변수입니다. 매개 변수는 쉼표로 구분됩니다.,iv>저장 프로시저를 추가하여 하나 이상의 매개 변수라는@max_list_price
다.
한 번에 저장된 절차를 수정을 성공적으로 실행할 수 있습니다 그것을 전달하여 두 개의 인수,하나는@min_list_price
및@max_list_price
:
Code language: SQL (Structured Query Language) (sql)
다음과 같은 출력을 보여줍니다.
이름이 지정된 매개 변수를 사용하는
경우에 저장된 절차에 여러 매개변수 그것은 더 많은 명확하고 저장 프로시저를 실행합니다 이름이 지정된 매개 변수를 사용하는.,
예를 들어,다음의 문을 실행하는uspFindProducts
저장 프로시저를 사용하라는 매개 변수를@min_list_price
및@max_list_price
Code language: SQL (Structured Query Language) (sql)
의 결과가 저장된 절차와 동일한 그러나 이 문은 더욱 분명하다.
만들기 텍스트 매개 변수를
다음과 같은 문장을 추가@name
매개 변수 문자열로 매개변수를 저장 프로시저입니다.,
WHERE
절의SELECT
성명,우리는 추가 조건은 다음과 같다.
Code language: SQL (Structured Query Language) (sql)
이렇게 함으로써, 저장 프로시저를 반환합니다 제품의 가격은 범위의 최소 및 최대 목록의 가격과 제품 이름도 포함되어 있는 작품의 텍스트를 통과합니다.,
일단 저장되는 절차가 변경된 성공적으로 실행할 수 있습니다 그것은 다음과 같다:
이 문서에서,우리가 사용하는uspFindProducts
저장된 절차에 따라 제품을 찾을 수 있는 표시 가격은 범위에서 900 1,000 자신의 이름을 포함하는 단어는Trek
.,
다음과 같은 그림이 보여 출력:
만들기 선택 매개 변수를
실행할 때는uspFindProducts
저장 프로시저를 전달해야 합니다 세 개의 인수를 모두 해당하는 세 가지 매개 변수입니다.
SQL Server 를 사용하면 매개 변수에 기본값을 지정하여 저장 프로 시저를 호출 할 때 기본값으로 매개 변수를 건너 뛸 수 있습니다.,
다음과 같은 저장된 절차:
에서 이 저장 프로시저,우리가 할당되0
기본값으로@min_list_price
매개 변수는999,999
기본값으로@max_list_price
매개 변수입니다.,
Once the stored procedure is compiled, you can execute it without passing the arguments to @min_list_price
and @max_list_price
parameters:
Code language: SQL (Structured Query Language) (sql)
In this case, the stored procedure used 0
for @min_list_price
parameter and 999,999
for the @max_list_price
parameter when it executed the query.,
@min_list_price
및@max_list_price
매개 변수는 선택 매개 변수입니다.물론 인수를 선택적 매개 변수로 전달할 수도 있습니다., 예를 들어,다음과 같은 문장 반환 모든 제품의 가격은 보다 크거나 같6,000
그리고 이 단어를 포함하는Trek
:
Code language: SQL (Structured Query Language) (sql)
NULL 을 사용하여 기본값으로
uspFindProducts
저장 프로시저 우리가 사용하는999,999
기본값으로 최대의 목록은 가격입니다. 장래에 정가가 그보다 큰 제품을 가질 수 있기 때문에 이는 강력하지 않습니다.,
전형적인 기술이 이를 방지하기 위해 사용하는NULL
기본값으로 매개변수:
WHERE
clause,우리는 변경된 조건을 처리하는NULL
값을@max_list_price
매개변수:
Code language: SQL (Structured Query Language) (sql)
다음 문을 실행하는uspFindProducts
저장된 절차에 따라 제품을 찾을 수 있는 표시 가격은 크거나 500 그리고 이 단어를 포함하는Haro
.,
Code language: SQL (Structured Query Language) (sql)
이 튜토리얼에서,당신은 어떻게 배웠을 만들고 저장 프로시저를 실행할 수 있습니다과 하나 이상의 매개변수가 있습니다. 또한 선택적 매개 변수를 만들고 매개 변수의 기본값으로 NULL 을 사용하는 방법을 배웠습니다.피>