**변수사용
로컬변수의 특징
1. @라는 첨자를 가진다
2. 선언된 로컬 변수는 현제 커넥션에서 같은 배치내에서만 사용
3. 값을 초기화하기 위해 set, select문 사용
DECLARE @YMD DATETIME //선언
SET @YMD=GETDATE() // 초기화
SELECT @YMD
DECLARE @SAL INT
SET @SAL=5000
SELECT ENAME, SAL FROM EMP
WHERE SAL>@SAL
DECLARE @SAL INT
SELECT @SAL=AVG(SAL) FROM EMP
SELECT @SAL
**조건문
<IF문>
IF 조건
실행문
ELSE
실행문
DECLARE @I INT
SET @I=200
IF @I <100
PRINT '@I는 100보다 작습니다.'
ELSE
PRINT '@I는 100이상입니다.'
---------------------------
DECLARE @SAL INT
SET @SAL=2000
IF @SAL >=3000
BEGIN //실행문이 2개 이상일때는 BEGIN END로 묶어주어야함..
PRINT '3000이상인 사원몰록'
SELECT * FROM EMP
WHERE SAL>=3000
END
ELSE
PRINT '3000미만인 사원목록'
SELECT * FROM EMP
WHERE SAL<3000
<CASE문(END로 끝남. JOIN한 것과 같은 결과)>
SELECT EMPNO, ENAME,DEPTNO,
(CASE
WHEN DEPTNO=10 THEN '전산실'
WHEN DEPTNO=10 THEN '총무부'
WHEN DEPTNO=10 THEN '영업부'
ELSE
'기타'
END) AS 부서명
FROM EMP
**반복문
DECLARE @A INT
SET @A=1
WHILE @A <100 // BEGIN .. END를 쓰지 않으면 무한루프에 빠짐~!!
BEGIN
SELECT @A
SET @A=@A+1
END
**저장 프로시져(STRORED PROCEDURE)
--서버에 컴파일 시켜 저장시켜놓은 SQL코드의 집합
시스템 저장프로시져(SP_, MASTER DB)
확장 저장 프로시져(XP_, MASTER DB)
사용자 저장 프로시져
--장점: VIEW의 장점 +a
-처리속도가 빠르다
-네트워크 트래픽을 줄인다
-확장이 용이하다.