2014-01-21 2 views
-2

안녕하세요 저는 SQLServer2008을 사용하고 있습니다.트리거를 사용하여 다른 테이블에 레코드 삽입

아래 테이블은 내 Product입니다. ProductId가 기본 키 및 자동입니다

ProductId 
CategoryId 
Name 
Qty 

을 생성합니다. 다음은 여기 StockIdStock

StockId 
ProductId 
Stock 

기본 키 및 자동 생성이다. 이제 새 주를 Product 테이블에 삽입 할 때 트리거를 사용하여 Stock 테이블에 ProductId을 삽입하려고합니다. 어떻게해야합니까? 어떤 도움을 주시면 감사하겠습니다. 감사합니다.

+0

질문에 시도한 방아쇠의 코드를 입력하십시오. –

+1

무엇을 시도 했습니까? Product 테이블에 'Qty' 열이있는 이유는 무엇입니까? 제품 세부 정보 * 및 * 재고 관리에이 두 가지를 모두 사용하고 있습니까? 'Stock' 테이블의'Stock' 칼럼에 어떤 가치가 있습니까? (카우보이 데이터 조작을 허용하지 않으면 원본 삽입물에 OUTPUT 절을 사용할 수도 있습니다.) –

답변

1

다음을 시도해보십시오. 새 제품의 stock0으로 기본값으로 설정한다고 가정합니다. 그렇지 않으면 그에 따라 수정하십시오.

CREATE TRIGGER trig_Insert_Stock 
ON [Product] 
FOR INSERT 
AS 
Begin 
    Insert into Stock (ProductId, Stock) 
    Select Distinct i.ProductId, 0 
    from Inserted i 
End 
+2

추측을 위해 +1 (물론 ProductID가 기본 키인 경우 +1) , 당신은'별개'를 필요로하지 않습니다. –

+0

@AaronBertrand 오류 '잘못된 열 이름'ProductId '가 있습니다. – Prashant16

+1

@ Prashant16 * shrug * 나는 너를 도울 줄 모르겠다. 이 코드를 올바르게 구현하지 않았거나 테이블이 질문에 표시된 것과 동일하지 않은 것 같습니다. –

관련 문제