PostgreSQL에서 select는 정상으로 나오는데 insert시 에러가 나옵니다 .. 0 1 5,978

by 날아라갑을 [PL/SQL] PostgreSQL [2024.07.12 14:25:43]


  insert into netn_dsstrfr_rsknt_list_type_message(list_id, dsstrwry_region_cd, issue_date, risk_se, creat_dt, effect_dt, pt_dt)


       SELECT nextval('netn_dsstrfr_rsknt_list_type_message_list_id_seq'::regclass)       
            , ndr.dsstrwry_region_cd
            , substring(a.start_time, 1, 12) as start_time
            , case
                   when (a.warn_var = '2' and a.warn_stress = '0') then '10' 
                when (a.warn_var = '2' and a.warn_stress = '1') then '11' 
                when (a.warn_var = '7' and a.warn_stress = '0') then '13'
                when (a.warn_var = '7' and a.warn_stress = '1') then '14' 
              end as RISK_SE
            , now()
            , to_timestamp(a.start_time, 'YYYYMMDDHH24MI')
            , to_timestamp(a.dt_tm_fc,'YYYYMMDDHH24MI')
         FROM (SELECT nds.sigungu_cd
                    , ndkf.cd_stn
                    , ndkf.start_time
                    , ndkf.dt_tm_fc
                    , ndkf.warn_var
                    , ndkf.warn_stress
                 FROM netn_dsstrwry_kma_flash ndkf
               INNER JOIN netn_disasterarea_sigungu nds ON nds.disasterarea_nm = ndkf.cd_stn
                -- 5분전 데이터 조회                      
              WHERE substring(ndkf.start_time, 1, 12) = to_char(to_timestamp(v_dt_obz, 'YYYYMMDDHH24MI') - interval '5 minutes', 'YYYYMMDDHH24MI') 
          and (ndkf.warn_var = '2' or ndkf.warn_var = '7') 
          and ndkf.command in ('1', '6', '7')
       GROUP BY nds.sigungu_cd, ndkf.cd_stn, ndkf.start_time, ndkf.dt_tm_fc, ndkf.warn_var, ndkf.warn_stress
       ) a
       INNER JOIN netn_dsstrwry_region ndr ON a.sigungu_cd = ndr.sigungu_cd
       and ndr.use_at = 'Y';

*select 조회만 해봤을때 30건 데이터가 조회가 되는데 insert부분을 타면 

ERROR: missing FROM-clause entry for table "a" 라는 에러문구가 떨어집니다

혹시 제가 from절 뒤에 a로 묶은 부분이 문제가 되는걸까요 ...?

by 날아라갑을 [2024.07.12 14:40:44]

아이고.. 해결됬습니다

프로시저 넘어가서 INSERT되는부분에 h. 으로 설정한 값이 있는데 이것저것 건들다보니 a. 으로 수정되어있어서 발생한 문제였네요 ..

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입