개발하다, 아래와 같은 에러가 뜬다.
처리되지 않은 'Spring.Dao.DataIntegrityViolationException' 형식의 예외가 Spring.Data.dll에서 발생했습니다.
추가 정보: CommandCallback; SQL [INSERT INTO [Jopan] ([JopanNum],[JopanCode],[JopanSize],[PaperCount],[PaperMaterial],[WriteDate],[JopanState],[DeliveryDate],[FileDownAvailable],[Color],[IsDonTang],[ItemType],[MaterialCode])
VALUES (@insert_JopanNum,@insert_JopanCode,@insert_JopanSize,@insert_PaperCount,@insert_PaperMaterial,@insert_WriteDate,
@insert_JopanState,@insert_DeliveryDate,@insert_FileDownAvailable,@insert_Color,@insert_IsDonTang,@insert_ItemType,@insert_MaterialCode);
SET @SYS_RETURING_INSERT = CAST(SCOPE_IDENTITY() AS int)]; IDENTITY_INSERT가 OFF로 설정되면 테이블 'Jopan'의 ID 열에 명시적 값을 삽입할 수 없습니다.
DB Table 설계는
CREATE TABLE [dbo].[XXXXX](
[jopanNum] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
[jopanCode] [nvarchar](20) NOT NULL,
[jopanSize] [nvarchar](30) NULL,
[paperCount] int DEFAULT 0,
[paperMaterial] [nvarchar](30) NULL,
[writeDate] [datetime] DEFAULT GETDATE(),
[jopanState] [varchar](20) DEFAULT 'ORDER',
[deliveryDate] [varchar](50) NULL,
[fileDownAvailable] [int] NULL,
[color] [varchar](30) NULL,
[isDonTang] [int] DEFAULT 0,
[itemType] [varchar](50) NULL,
[materialCode] [varchar](30) NULL
)
IDENTITY(1,1) <= 자동 증가값을 설정.
해결 방법으로
1. INSERT구문 앞 뒤로 SET IDENTITY_INSERT Jopan ON/OFF를 해준다.
SET IDENTITY_INSERT Jopan ON
INSERT ~ VALUES ~
SET IDENTITY_INSERT Jopan OFF
2. Insert할 때, 자동증가값이 설정된 Primary Key Column을 명시하지 않는 방법이 있음.
INSERT INTO JopanItem(jopanCode, siteNationCode, strOrderItemCode, makeOrderCount)
SELECT *
FROM OPENQUERY([linDB_{siteNationCode}],'
SELECT TOP 1 {code}, {siteNationCode}, strOrderItemCode, intOrderCount
FROM [adprintNewDB].[dbo].tblorderItem
WHERE intOrderNum = {orderNum} AND strOrderItemcode LIKE (''%{orderItemCode}'')
')
'프로그래밍 > MSSQL' 카테고리의 다른 글
Microsoft SQL Server Management Studio - 테이블 디자인 설명 표시 (0) | 2019.03.05 |
---|---|
MS-SQL 테이블 변수를 활용한 배열 처리 (0) | 2019.01.29 |
오류해결 - equal to 작업에서의 "Korean_Wansung_CI_AS"과(와) "Japanese_Unicode_CI_AS" 간의 데이터 정렬 충돌을 해결할 수 없습니다. (0) | 2018.05.17 |
LinkedServer 프로시저 실행 시 RPC 구성하기 (0) | 2018.05.15 |
오류해결 - has no value!! (0) | 2018.05.15 |