728x90
변수 선언
DECLARE @[변수이름] AS [데이터 타입] = [값];
DECLARE @[변수이름] [데이터 타입]; AS는 생략가능
DECLARE @[변수이름] AS [데이터 타입];
SET @[변수이름] = [값]; 선언만 하고 나중에 값을 할당해도 된다.
배치
GO ------------------일종의 절취선--------------------
이 위에서 사용한 구문이나 변수는 더 이상 사용할 수 없다.
원래라면 1)이 실패하면 2)는 실행이 안되어야 하지만 GO가 있으므로 INSERT 2)도 실행된다.
INSERT ~~~~ 1)
GO
INSERT ~~~~ 2)
흐름제어
기본적으로 IF - ELSE나 WHILE같은 흐름제어문들은 바로 다음 한 문장만 인식하는데 BEGIN - END 사이에 넣게 되면 BEGIN - END가 괄호 역할을 하게 된다.
IF - ELSE
GO
DECLARE @i AS INT = 10;
IF @i = 10
BEGIN -- 일종의 괄호
PRINT('Hello');
PRINT('World');
END
ELSE
BEGIN
PRINT('NO');
END
GO ------------------------------- 절취선 ----------------------------------
DECLARE @i AS INT = 0; -- 재사용 가능
WHILE @i < 100 -- BREAK, CONTINUE 활용 가능
BEGIN
SET @i = @i + 1
END
PRINT @i;
테이블 변수
임시로 사용할 테이블을 변수로 만들어서 활용 가능하다. tempDB라는 곳에 임시로 생성 되었다가 나중에 알아서 삭제해준다.
DECLARE @test TABLE
(
id INT NOT NULL,
salary INT NOT NULL
);
INSERT INTO @test
SELECT id, salary FROM salarytable;
SELECT * FROM @test;
728x90
'Database' 카테고리의 다른 글
WINDOW FUNCTION (0) | 2023.05.11 |
---|---|
TRANSACTION (0) | 2023.05.11 |
JOIN (0) | 2023.05.11 |
UNION (0) | 2023.05.11 |
INDEX (0) | 2023.05.11 |