Oracle 기능 중 가장 부러웠던 기능이 바로 Sequence!!

 

이제 MS-SQL 2012에서부터 제공이 된다.

 

얼마나 기다렸던가..

 

매번 테이블을 만들어서 체크하고 짜증이 심하게 났었는데...

 

그냥 행복하다.

 

만드는건 다음과 같고

 

create sequence barcode_seqas int
START with 1
increment by 1

 

조회는 select next value for barcode_seq 이런 형식으로 Oracle과 거의 유사하다.

 

아니 동일하다 봐도 무관 할 듯?

 

여기까지만 알아도 대충 유용하게 쓸 수 있지만

 

초기화가 필요 할 경우가 있다.

 

Index 성격의 프로그램을 만들 경우나 Sequence 적인 프로그램을 짤 경우

 

alter sequence barcode_seq
restart with 1

 

위 코드가 초기화 코드이다.

 

MSDN에 가면 괜찮게 정리가 되어 있으니 보면 유용 할 듯 하다.

동적 쿼리란?

 

일반적으로 조회문을 보면

 

SELECT * FROM TABLE 형식으로 다들 조회를 한다.

 

하나 더 넣어보자.

 

SELECT * FROM TABLE WHERE COLUMN = @COLUMN_DATA

 

이렇게 쓴다면 단순히 어떤 대상을 찾아 그 내용을 가져 온다.

 

하지만 이것은 동적 쿼리가 아니다.

 

단순히 원하는 결과를 정적인 형태로 가져온다.

 

하지만

 

SELECT @SELECT_COLUMN FROM TABLE WHERE COLUMN = @COLUMN_DATA

 

이런 경우는 어떨까?

 

어떤 조건에 대하여 조회하는 대상이 고정되어 있지 않고

 

PARAMETER를 통하여 그 대상들을 상황에 맞게 조회가 가능하다.

 

이것이 바로 동적 쿼리이다.

 

알아두면 좋은 지식들.. 메모 메모.. 오라클이라면 @ 대신 오라클 파라메터 문자를 써서 적용하면.. 될려나..

 

오라클 서버가 없어서 해 보진 못했지만 될 듯 하다.