반응형
변수의 선언과 호출
변수 선언
- declare @변수이름 데이터타입
- declare : 변수 선언 키워드
- @ : 변수임을 나타내는 키워드, 변수 앞에는 항상 '@'를 사용
- 예시) myName이란 변수에 문자열이 최대 20자까지 저장 가능하도록 설정
- 편의상 문자 길이라고 하였지만 사용하는 DBMS에 따라 다를 수 있음
/* declare @변수이름 데이터타입 */
declare @myName char(20)
변수 값 저장
- set @변수이름 = '값'
- set : 변수의 값을 저장하는 키워드
- 예시) myName 이란 변수에 자신의 이름을 저장
/* set @변수이름 = '값' */
set @myName = 'Eunbyeol'
변수 호출
- select @변수이름
- select : SQL의 select문과 같음. 즉, 변수의 값을 보기 위해 사용
- 예시) myName 변수의 값을 확인해보기
/* select @변수이름 */
select @myName
- 쿼리 실행 결과
변수를 이용한 SQL 쿼리
변수를 사용하여 값 입력
- 테이블에 변수를 이용하여 값을 넣어보기
- 예시에 사용 될 테이블
- testId : 인덱스 (기본 키, PK)
- testName : 이름
- testAddr : 주소 (Null 허용)
* 테이블은 아무 값도 존재하지 않는 상태임
- 자신의 이름을 변수로 저장하고, 테이블에 변수를 사용하여 자신의 이름을 저장해보기
-- 사용 할 데이터베이스 이름
use EunbyeolTestLocalDB
-- 이름을 저장할 문자열 변수 선언
declare @myName char(20)
-- 자신의 이름 저장
set @myName = 'Eunbyeol'
-- 저장이 잘 되었는지 값 확인
select @myName
-- 테이블 이름 : testTable
-- 컬럼 이름 : testName
-- 테이블에 내 이름 저장
insert into testTable (testName) values (@myName)
-- insert 쿼리가 정상적으로 실행되었는지 확인
select * from testTable
- 확인 결과
변수를 사용하여 데이터 접근
- 테이블에 변수를 사용하여 원하는 데이터를 출력해보기
- 예시에 사용 될 테이블
- testId : 인덱스 (기본 키, PK)
- testName : 이름
- testAddr : 주소 (Null 허용)
- 예시에 사용될 테이블의 데이터
- testId : 2
- testName : Eunbyeol
- testAddr : NULL
testId의 인덱스가 2인 사람의 이름을 출력해보기
-- 인덱스의 번호를 저장할 정수형 변수 선언
declare @myIndex int
-- 정수형 데이터 값 저장
set @myIndex = 2
-- 저장이 잘 되었는지 값 확인
select @myIndex
-- testId : testTable 테이블의 인덱스 컬럼
-- testName : testTable 테이블의 사용자 이름 컬럼
-- testId의 값이 2인 사람의 이름을 출력
select testName from testTable where testId = @myIndex
- 확인 결과
그 외에 변수를 이용하여 limit의 출력 제한을 설정하는 등등
여러가지 활용 방법이 많습니다.
반응형