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

+ Recent posts