728x90
○ BEGIN - END
BEGIN으로 시작하고 END로 끝나는 흐름 제어 언어 키워드
쿼리 블럭이라고 함
○ IF
IF (조건문)
BEGIN
참일때 실행
END
ELSE
BEGIN
거짓일때 실행
END
○ WHILE
WHILE (조건문)
BEGIN
조건이 TRUE면 반복 실행될 쿼리문
END
○프로시저
저장 프로시저
>> 필요할 때 호출하여 사용할 수 있는 SQL 문
쿼리문들의 집합으로 어떤 동작을 여러 쿼리를 거쳐서 일괄적으로 처리할 때 사용됨
SQL Server의 성능 향상과 유지보수 및 재활용에 좋고 보안을 강화할 수 있다는 장점이있음
기본 문법
CREATE PROCEDURE name
AS
BEGIN
SELECT 1
END
GO
실행할때는 EXEC를 사용함
EXEC 프로시저명 파라미터;
예시 1)
CREATE PROCEDURE pro
@userName NVARCHAR(10)
AS
SELECT * FROM userTB WHERE name = @userName
GO
--- 프로시저 사용 ---
EXEC pro '김수현'
>> name이 김수현인 행만 출력됨
예시 2)
CREATE PROCEDURE pro2
@birth INT,
@height INT
AS
SELECT * FROM userTB WHERE birthYEAR > @birth AND height > @height
GO
--- 프로시저 사용 ---
EXEC pro2 1999, 165;
>> 두개 이상의 매개변수도 지정할 수 있다
또는 EXEC pro2 @height = 165 , @birth = 1999 와 같이 지정하여 순서에 상관없이 매개변수 값을 넣어줄 수 있다
예시 3)
CREATE PROC ifpro
@name NVARCHAR(10)
AS
DECLARE @BYEAR INT
SELECT @BYEAR = birthYear FROM userTB
WHERE name = @userName
IF(@BYEAR >= 1980)
BEGIN
PRINT N'청년'
END
ELSE
BEGIN
PRINT N'중년'
END
GO
--- 프로시저 사용 ---
EXEC ifpro '태진아'
728x90
'MS SQL' 카테고리의 다른 글
Hacker Rank 문제풀이 #4 (0) | 2024.05.31 |
---|---|
Hacker Rank 문제풀이 #3 (0) | 2024.05.24 |
Hacker Rank 문제풀이 #2 (0) | 2024.04.16 |
Hacker Rank 문제 풀이 #1 (1) | 2024.04.15 |
MS SQL 실습 및 추가 공부 내용 (1) | 2024.04.12 |