안녕하세요. 질문드릴게 있어 글 남깁니다.

저희 납품카드 발행시스템 -> mes 시스템으로 발주정보를 인터페이스 하는데요.

오늘 아침 갑자기 아래와 같은 에러 메세지가 출력되면서 발주정보가 인터페이스 되지 않습니다.

 

primary key 제약조건

'pk_tb_erp_spin_oneday_data를 위반했습니다. 개체 dbo.tb_erp_spin_oneday에 중복키를 삽입할 수 없습니다.

중복키값은 (**** DH202208139745) 입니다. 

 

관련 프로시저 쿼리는 아래와 같습니다.

ALTER PROCEDURE [dbo].[SP_ERP_SPIN_ORDER_S]
                @OUTPUT_CUST       varchar(10),
                @ORDER_NO       varchar(20),
                @PART_ID        varchar(20),
                @PART_NAME      varchar(50),
                @ORDER_QTY      int        ,
                @MI_QTY         int        ,
                @SUN_QTY        float      ,
                @CANCEL_QTY     int        ,
                @INPUT_QTY      int        ,
                @CUST_ID        varchar(20),
                @NAPUM_ID       varchar(20),
                @ORDER_DATE     varchar(20),
                @NAP_DATE       varchar(20),
                @PACK_ID        varchar(20),
                @LOCATION_ID    varchar(20),
                @SAUPSO_ID      varchar(20),
                @DAERIJUM_ID    varchar(20),
                @GUMSA_TYPE     varchar(20),
                @GUMSA_LOCATION varchar(20),
                @GUMSA_QTY      int        ,
                @GUMSA_PROD     int           ,
                @CAR_ID            varchar(20),
                @UNION_CLASS    varchar(20)
               ,@BAL_TYPE        varchar(5)
               ,@QC                char(1)
               ,@C_PART_ID        varchar(20)
               ,@EAC            varchar(20)
               ,@INPUT_CTL        char(1) 


AS
BEGIN
    SET NOCOUNT ON;

  
            DECLARE @V_DATE DATETIME = GETDATE()
            DECLARE @V_DATE_ONDAY DATETIME = CONVERT(DATETIME,CONVERT(VARCHAR(6),GETDATE(),112) + '01') 

            IF NOT EXISTS(SELECT TOP 1 * FROM TB_ERP_SPIN WHERE OUTPUT_CUST = @OUTPUT_CUST AND ORDER_NO = @ORDER_NO AND CREATE_DTTM >= @V_DATE_ONDAY AND CREATE_DTTM < DATEADD(DAY,1,@V_DATE_ONDAY)) AND CONVERT(VARCHAR(8),@V_DATE,112) = CONVERT(VARCHAR(8),@V_DATE_ONDAY,112)
            BEGIN
                INSERT INTO TB_ERP_SPIN_ONEDAY
                        (
                        OUTPUT_CUST   
                        ,ORDER_NO      
                        ,PART_ID       
                        ,PART_NAME     
                        ,ORDER_QTY     
                        ,MI_QTY        
                        ,SUN_QTY       
                        ,CANCEL_QTY    
                        ,INPUT_QTY     
                        ,CUST_ID       
                        ,NAPUM_ID      
                        ,ORDER_DATE    
                        ,NAP_DATE      
                        ,PACK_ID       
                        ,LOCATION_ID   
                        ,SAUPSO_ID     
                        ,DAERIJUM_ID   
                        ,GUMSA_TYPE    
                        ,GUMSA_LOCATION
                        ,GUMSA_QTY     
                        ,GUMSA_PROD
                        ,CAR_ID
                        ,UNION_CLASS
                        ,BAL_TYPE  
                        ,QC           
                        ,C_PART_ID 
                        ,EAC       
                        ,INPUT_CTL 
                        )
                VALUES
                        (
                       @OUTPUT_CUST   
                        ,@ORDER_NO      
                        ,@PART_ID       
                        ,@PART_NAME     
                        ,@ORDER_QTY     
                        ,@MI_QTY        
                        ,@SUN_QTY       
                        ,@CANCEL_QTY    
                        ,@INPUT_QTY     
                        ,@CUST_ID       
                        ,@NAPUM_ID      
                        ,SUBSTRING(@ORDER_DATE, 1, 10)    
                        ,SUBSTRING(@NAP_DATE, 1, 10)      
                        ,@PACK_ID       
                        ,@LOCATION_ID   
                        ,@SAUPSO_ID     
                        ,@DAERIJUM_ID   
                        ,@GUMSA_TYPE    
                        ,@GUMSA_LOCATION
                        ,@GUMSA_QTY  
                        ,@GUMSA_PROD
                        ,@CAR_ID
                        ,@UNION_CLASS
                        ,@BAL_TYPE  
                        ,@QC        
                        ,@C_PART_ID 
                        ,@EAC       
                        ,@INPUT_CTL 
                        )
            END
            


            DELETE
            FROM    TB_ERP_SPIN
            WHERE    OUTPUT_CUST    = @OUTPUT_CUST
            AND        ORDER_NO    = @ORDER_NO
            
            INSERT INTO TB_ERP_SPIN
                    (    OUTPUT_CUST   
                        ,ORDER_NO      
                        ,PART_ID       
                        ,PART_NAME     
                        ,ORDER_QTY     
                        ,MI_QTY        
                        ,SUN_QTY       
                        ,CANCEL_QTY    
                        ,INPUT_QTY     
                        ,CUST_ID       
                        ,NAPUM_ID      
                        ,ORDER_DATE    
                        ,NAP_DATE      
                        ,PACK_ID       
                        ,LOCATION_ID   
                        ,SAUPSO_ID     
                        ,DAERIJUM_ID   
                        ,GUMSA_TYPE    
                        ,GUMSA_LOCATION
                        ,GUMSA_QTY     
                        ,GUMSA_PROD
                        ,CAR_ID
                        ,UNION_CLASS
                        ,BAL_TYPE
                        ,QC        
                        ,C_PART_ID
                        ,EAC       
                        ,INPUT_CTL
                    )
            VALUES    (    @OUTPUT_CUST   
                        ,@ORDER_NO      
                        ,@PART_ID       
                        ,@PART_NAME     
                        ,@ORDER_QTY     
                        ,@MI_QTY        
                        ,@SUN_QTY       
                        ,@CANCEL_QTY    
                        ,@INPUT_QTY     
                        ,@CUST_ID       
                        ,@NAPUM_ID      
                        ,SUBSTRING(@ORDER_DATE, 1, 10)    
                        ,SUBSTRING(@NAP_DATE, 1, 10)      
                        ,@PACK_ID       
                        ,@LOCATION_ID   
                        ,@SAUPSO_ID     
                        ,@DAERIJUM_ID   
                        ,@GUMSA_TYPE    
                        ,@GUMSA_LOCATION
                        ,@GUMSA_QTY  
                        ,@GUMSA_PROD
                        ,@CAR_ID
                        ,@UNION_CLASS
                        ,@BAL_TYPE 
                        ,@QC        
                        ,@C_PART_ID
                        ,@EAC     
                        ,@INPUT_CTL 

                    )
            
            IF(ISNULL(@MI_QTY,0) > 0)
            BEGIN
                DELETE dbo.TB_PRV_PRN
                WHERE OUTPUT_CUST = @OUTPUT_CUST
                    AND    ORDER_NO = @ORDER_NO

                DELETE TB_PRV_SPIN
                WHERE OUTPUT_CUST = @OUTPUT_CUST
                    AND    ORDER_NO = @ORDER_NO

                INSERT INTO dbo.TB_PRV_SPIN
                    (    
                        OUTPUT_CUST   
                        ,ORDER_NO      
                        ,PART_ID       
                        ,PART_NAME     
                        ,ORDER_QTY     
                        ,MI_QTY        
                        ,SUN_QTY       
                        ,CANCEL_QTY    
                        ,INPUT_QTY     
                        ,CUST_ID       
                        ,NAPUM_ID      
                        ,ORDER_DATE    
                        ,NAP_DATE      
                        ,PACK_ID       
                        ,LOCATION_ID   
                        ,SAUPSO_ID     
                        ,DAERIJUM_ID   
                        ,GUMSA_TYPE    
                        ,GUMSA_LOCATION
                        ,GUMSA_QTY     
                        ,GUMSA_PROD
                        ,CAR_ID
                        ,UNION_CLASS
                        ,BAL_TYPE 
                        ,QC          
                        ,C_PART_ID
                        ,EAC      
                        ,INPUT_CTL
                        ,PRINT_FLAG
                        ,CREATE_DTTM
                        )
                VALUES
                        (
                         @OUTPUT_CUST   
                        ,@ORDER_NO      
                        ,@PART_ID       
                        ,@PART_NAME     
                        ,@ORDER_QTY     
                        ,@MI_QTY        
                        ,@SUN_QTY       
                        ,@CANCEL_QTY    
                        ,@INPUT_QTY     
                        ,@CUST_ID       
                        ,@NAPUM_ID      
                        ,SUBSTRING(@ORDER_DATE, 1, 10)    
                        ,SUBSTRING(@NAP_DATE, 1, 10)      
                        ,@PACK_ID       
                        ,@LOCATION_ID   
                        ,@SAUPSO_ID     
                        ,@DAERIJUM_ID   
                        ,@GUMSA_TYPE    
                        ,@GUMSA_LOCATION
                        ,@GUMSA_QTY  
                        ,@GUMSA_PROD
                        ,@CAR_ID
                        ,@UNION_CLASS
                        ,@BAL_TYPE  
                        ,@QC        
                        ,@C_PART_ID 
                        ,@EAC       
                        ,@INPUT_CTL
                        ,'N' 
                        ,GETDATE()
                        )
            END

 

어느 구문을 수정해야 하는지 고수님께 문의 드립니다.

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 31526
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 16319
10882 여러 컬럼 중 최대값 조회 질문드립니다. [3] 인트피트 2022.12.20 617
10881 이거 왜 이런가요 [1] 하얀무 2022.12.15 119
10880 대용량 테이블 UPDATE 처리.. [2] 발코딩 2022.12.14 212
10879 mssql 게시판 검색 질문입니다. [2] 카루카루 2022.12.08 622
10878 sql 같은값 sum하여 새로 누적값 만들기 [5] file fawkjfa 2022.12.07 150
10877 서버별 사용량 누적차감 쿼리 2022.12.06 111
10876 ms-sql table 변수 [1] m**** 2022.12.06 94
10875 mssql 비용이 많이 드는 쿼리 처리 결과 해석에 대한 문의 건 [1] file 어진지부 2022.12.06 147
10874 오라클 관련 질문 [1] leesoek 2022.12.06 64
10873 select문 질문드립니다.ㅠㅠ 너무 어려워요 [1] 미도리 2022.12.02 140
10872 중복데이터 제거 문의 [3] 슈토파이터 2022.12.01 85
» primary key 제약 조건 문의 [3] file 어진지부 2022.12.01 81
10870 MSSQL 쿼리 질문입니다. [1] 감프 2022.11.26 95
10869 CASE WHEN 쿼리문 질문 드립니다. [1] 열린문서 2022.11.26 95
10868 설비의 데이터를 로컬 DB(설비 PC 내부)에서 관리하는데 문제가 있습니다. [1] 아슈로 2022.11.24 123
10867 varchar(max) 사용시 text 처럼 외부에 저장되었는지 여부? 감프 2022.11.23 79
10866 sql 날짜형식 0이 아닌 조회문 문의드립니다. [1] 인트피트 2022.11.22 74
10865 varchar(max)가 좋을지 varchar(8000) 을 여러게 만드는게 좋을지? [1] 감프 2022.11.22 227
10864 간단한 쿼리 질문드리겠습니다 ! [1] 유충실 2022.11.22 69
10863 초보 질문 드립니다 [2] 빅배 2022.11.17 70





XE Login