DECLARE @ins_error int
begin tran
insert ExampleDB(exid, a) values('d', 'c')
select @ins_error = @@ERROR
IF @ins_error = 0
BEGIN
PRINT "The author information has been replaced"
COMMIT TRAN
END
ELSE
BEGIN
PRINT "An error occurred during execution of the INSERT statement."
ROLLBACK TRAN
END
위의 쿼리에서 exid컬럼은 프라이머리키입니다. 인서트시 중복되면
Server: Msg 2627, Level 14, State 1, Line 0
Violation of PRIMARY KEY constraint 'PK_ExampleDB'. Cannot insert duplicate key in object 'ExampleDB'.
The statement has been terminated.
위와 같은 메세지를 안나오게 하려면 어떡해 해야 하나요.
제 질문이 부족한지 모르겠네요. 님들 죄송해요..그럼 부탁드립니다.
> DECLARE @ins_error int
>
> begin tran
> insert ExampleDB(exid, a) values('d', 'c')
> select @ins_error = @@ERROR
>
> IF @ins_error = 0
> BEGIN
> PRINT "The author information has been replaced"
> COMMIT TRAN
> END
> ELSE
> BEGIN
> PRINT "An error occurred during execution of the INSERT statement."
> ROLLBACK TRAN
> END
>
> 위의 쿼리에서 exid컬럼은 프라이머리키입니다. 인서트시 중복되면
> Server: Msg 2627, Level 14, State 1, Line 0
> Violation of PRIMARY KEY constraint 'PK_ExampleDB'. Cannot insert duplicate key in object 'ExampleDB'.
> The statement has been terminated.
> 위와 같은 메세지를 안나오게 하려면 어떡해 해야 하나요.
>
> 제 질문이 부족한지 모르겠네요. 님들 죄송해요..그럼 부탁드립니다.
insert할때 값이 중복되는거군요..
저같은경우는 입력하기전에 먼저 값이 있는지 없는지를 select로 찾아보구 입력하거든요
이 방법을 쓰면어떨까요?
그럼 즐코하세요.