안녕하세요.
A라는 Insert 트리거에서 B라는 테이블에 어떠한 값을 Insert합니다.
그런데 B가 ForeignKey가 잡혀있어서 에러가 날때가 있습니다.
트리거내부에서 이처럼 ForeignKey 에러발생시 A 테이블에 Insert가 안됩니다.
트리거에러와 상관없이 A에 Insert를 할 수 있을까요?
답변 꼭 바랍니다.
감사합니다.
대략 이런 식일 듯
if object_id('tbB') is not null drop table tbB go if object_id('tbA') is not null drop table tbA go CREATE TABLE tbA ( a int NOT NULL , name varchar(10) NULL ) go ALTER TABLE tbA ADD CONSTRAINT XPKtbA PRIMARY KEY CLUSTERED (a ASC) go CREATE TABLE tbB ( a int NOT NULL , name varchar(10) NULL ) go ALTER TABLE tbB ADD CONSTRAINT XPKtbB PRIMARY KEY CLUSTERED (a ASC) go ALTER TABLE tbB ADD CONSTRAINT R_1 FOREIGN KEY (a) REFERENCES tbA(a) go create trigger trg_insert_tbB on tbB instead of insert as begin set nocount on insert into tbA (a, name) select x.* from inserted x left outer join tbA y on x.a = y.a where y.a is null if @@rowcount > 0 begin insert into tbB select * from inserted end end go insert into tbB (a, name) select 1, '가' go select * from tba select * from tbb