재고관리 디비를 만들고 있습니다.
order 테이블에는 주문의 대략적인 정보가 있고
detail에는 order의 상세한 정보(어떤 상품을 사는지)
inventory에는 상품정보가 있습니다.
order의 order_exhibit에 출품날짜가 들어가면
오더테이블의 오더코드가 있는 디테일테이블의 값이 참조되어
그 값이 인벤토리 테이블에서 빼진 값이 입력되게 하고 싶습니다.
그래서..
CREATE TRIGGER [test] ON [order]
FOR UPDATE
AS
set nocount on
update inventory
set inven_amount = inven_amount - (
select detail_amount from detail
where (detail_ordercode = o.order_code and i.inven_code = d.detail_invencode)
)
from [order] o join detail d on o.order_code = d.detail_ordercode
join inventory i on i.inven_code = d.detail_invencode
set nocount off
라고 트리거를 만들었는디
하위쿼리에서 값을 둘이상 반환할 수 없다고 나오는군요..
업데이트 된 오더코드만 받아서 관련된 값만 변환하고 싶습니다.
이런 경우에 어떻게 해야 하나요?
답변 부탁드립니다.
|