본문 바로가기

SQL

[mssql] insert into select 사용하기

다음과 같은 상황이 있다.


1. table_1의 특정 컬럼값(Coupon)을 table_2에 인서트하고 싶을때.

2. table_2에 다른 컬럼(RegDate)이 있어서 고정된 값('2019-03-04')을 넣어줘야 할때.

3. 인서트하는 pk 컬럼(AccountNo)이 있어서 인서트 row마다 값을 임의로 지정해줘야 할때. (table_2 인덱스 넘버에서 1씩 추가 하는 것으로지정)


이때 서브쿼리처럼 조회 쿼리를 생성해서 insert할 수 있다.


INSERT INTO [table_2]
    (AccountNo,
    Coupon,
    RegDate)
    (SELECT
        (SELECT MAX(Seq) FROM [table_2])+(ROW_NUMBER() OVER(Order BY @@identity)),
        Coupon,
        '2019-03-04'
    FROM table_1)


'SQL' 카테고리의 다른 글

[mssql] 기존 테이블에 PK키 추가하기  (0) 2019.04.22
[mssql] id값 인서트하기  (0) 2019.02.12
[mssql] 데이터별 갯수 확인 쿼리  (0) 2019.02.12