mssql declare 예제

변수가 처음 선언되면 해당 값은 NULL로 설정됩니다. 변수에 값을 할당하려면 SET 문을 사용합니다. 변수에 값을 할당하는 기본 방법입니다. 변수에는 SELECT 문의 선택 목록에서 참조됨으로써 할당된 값이 있을 수도 있습니다. 변수는 DECLARE 문이 있는 일괄 처리 또는 프로시저의 본문에 선언되며 SET 또는 SELECT 문을 사용하여 값이 할당됩니다. 커서 변수는 이 문으로 선언하고 다른 커서 관련 문과 함께 사용할 수 있습니다. 선언 후 모든 변수는 선언의 일부로 값이 제공되지 않는 한 NULL로 초기화됩니다. 변수에는 선택 목록에서 참조하여 할당된 값이 있을 수도 있습니다. 선택 목록에서 변수를 참조하는 경우 스칼라 값을 할당해야 하거나 SELECT 문은 하나의 행만 반환해야 합니다. 예를 들어 다음 문은 제품_name, brand_id 및 list_price의 세 개의 열로 구성된 @product_table 라는 테이블 변수를 선언합니다. @LastName, @FirstName 및 @StateProvince 각각 NULL: DECLARE 문은 이름과 데이터 형식을 할당하여 변수를 초기화합니다.

변수 이름은 @ 기호로 시작해야 합니다. 이 예제에서 @model_year 변수의 데이터 형식은 SMALLINT입니다. 변수에 값을 할당하려면 SET 문을 사용합니다. 예를 들어 다음 문은 @model_year 변수에 2018을 할당합니다. 예를 들어 선언되면 테이블 변수가 비어 있습니다. INSERT 문을 사용하여 테이블 변수에 행을 삽입할 수 있습니다: 단일 DECLARE 문을 사용하여 두 개 이상의 변수를 선언하면 형식을 한 번만(끝에) 넣을 수 있습니다: 다음 예제에서는 Adventure Works Cycles sales의 이름을 검색합니다. 북미 판매 지역에 위치하고 있으며 연간 최소 $2,000,000의 매출을 기록한 담당자입니다. 로컬 변수의 범위는 선언되는 일괄 처리입니다.

SELECT 문이 두 개 이상의 행을 반환하고 변수가 비 스칼라 식을 참조하는 경우 변수는 결과 집합의 마지막 행에서 식에 대해 반환되는 값으로 설정됩니다. 예를 들어 다음 일괄 처리 @EmpIDVariable 반환된 마지막 행의 BusinessEntityID 값으로 설정됩니다.이 모든 명령문에서 SQL Server는 참조된 커서 변수가 존재하지만 현재 할당된 커서가 없는 경우 오류를 발생시 그것은. 참조된 커서 변수가 없는 경우 SQL Server는 다른 형식의 선언되지 않은 변수에 대해 발생한 동일한 오류를 발생시게 됩니다. 하지만 주의 의 말씀 – 이 기능 선언 하 고 그들에 대해 생각 으로 변수를 사용 하 여 개발자를 일으킬 수 있습니다 (즉. 스크립트의 중간에). 그것은 피해야 할 한 가지 관행입니다. 다음 단계에서는 두 변수를 선언하고, 변수에 레코드를 할당하고, 변수의 내용을 출력하는 방법을 보여 줍니다. 동일한 테이블의 다른 열을 사용하여 식에서 계산됩니다.