작콩큰콩

[mssql] insert into select / 조회된 값으로 insert 하기 본문

작은 콩 개발자/SQL

[mssql] insert into select / 조회된 값으로 insert 하기

귤치치 2023. 5. 24. 17:12
insert into select
  • select 해 온 값으로 insert를 해주면 된다.
  • 주의 사항은 두 테이블의 컬럼이 다를 경우 insert 해줄 테이블의 컬럼을 다 맞추어 주어야 한다.
  • 순서도 insert 할 테이블의 컬럼 순서를 맞추어야 한다.
  • 넣고 싶지 않는 값이 있으면 null , ‘’ 이렇게 해주면 된다.
INSERT INTO DOM_DOC_RECEIVE 
    SELECT
        '58' AS CORR_SEQ
        , ROW_NUMBER() OVER( ORDER BY ORG_USER_SEQ)  AS RECEIVE_SEQ
        , USER_SEQ AS RECEIVE_USER_SEQ
        , '77153' AS RECEIVE_INST_SEQ
        , 'RECEIVE' AS RECEIVE_TYPE_CD
        , ROW_NUMBER() OVER( ORDER BY ORG_USER_SEQ) AS RECEIVE_ODER
        ,'UNREAD' AS RECEIVE_STATUS_CD
        , NULL
        , NULL
        , NULL
        , NULL
        , 1 AS REG_USER_SEQ
        , GETDATE() AS REG_DT
        , NULL
        , NULL
        , NULL
        , NULL
        , NULL
    FROM 
        GEM_OBS_USER 
    WHERE 
        BIZ_CD_SEQ = '136' 
        AND DEL_YN = 'N';
insert 할 테이블의 컬럼
CORR_SEQ
RECEIVE_SEQ
RECEIVE_USER_SEQ
RECEIVE_INST_SEQ
RECEIVE_TYPE_CD
RECEIVE_ODER
RECEIVE_STATUS_CD
RECEIVE_DT
RECEIVE_USER_CONTENT
RECEIVE_PRINT_YN
APPRV_DT
REG_USER_SEQ
REG_DT
MODI_USER_SEQ
MODI_DT
DEL_YN
DEL_USER_SEQ
DEL_DT
select 할 테이블의 컬럼
ORG_USER_SEQ
BIZ_CD_SEQ
USER_SEQ
GRP_LEADER_YN
BIZ_REV_SEQ
REG_USER_SEQ
REG_DT
MODI_USER_SEQ
MODI_DT
DEL_YN
DEL_USER_SEQ
DEL_DT
Comments