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

저희 납품카드 발행시스템 -> 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 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 568
10873 select문 질문드립니다.ㅠㅠ 너무 어려워요 [1] 미도리 2022.12.02 64
10872 중복데이터 제거 문의 [3] 슈토파이터 2022.12.01 45
» primary key 제약 조건 문의 [3] file 어진지부 2022.12.01 48
10870 MSSQL 쿼리 질문입니다. [1] 감프 2022.11.26 48
10869 CASE WHEN 쿼리문 질문 드립니다. [1] 열린문서 2022.11.26 47
10868 설비의 데이터를 로컬 DB(설비 PC 내부)에서 관리하는데 문제가 있습니다. [1] 아슈로 2022.11.24 49
10867 varchar(max) 사용시 text 처럼 외부에 저장되었는지 여부? 감프 2022.11.23 24
10866 sql 날짜형식 0이 아닌 조회문 문의드립니다. [1] 인트피트 2022.11.22 37
10865 varchar(max)가 좋을지 varchar(8000) 을 여러게 만드는게 좋을지? [1] 감프 2022.11.22 54
10864 간단한 쿼리 질문드리겠습니다 ! [1] 유충실 2022.11.22 38
10863 초보 질문 드립니다 [2] 빅배 2022.11.17 42
10862 SQL 어느 쿼리가 더 효율적일까요? [2] 감프 2022.11.16 89
10861 DB초보가 질문드려요 ㅠㅠ [1] file 아르4616 2022.11.13 72
10860 초보 쿼리 질문드립니다. [2] phh**** 2022.11.09 64
10859 초보, 쿼리 질문 드립니다. [1] 계자 2022.11.07 55
10858 MSSQL 쿼리 질문 [3] One이 2022.10.24 105
10857 OPENROWSET 실행 중 상태 [1] 나당앙 2022.10.21 50
10856 MSSQL(VER 2014) RTRIM, LTRIM 공백제거 문의 [1] 산소녀 2022.10.18 72
10855 쿼리시 이름이 받침이 있는 경와 없는 경우 구별 [4] m**** 2022.10.13 96
10854 MYSQL 주간반복 일정 카운트 방법문의 [1] 오정석1555 2022.10.12 56





XE Login