2013-11-21 6 views
1

나는 레스토랑에 대한 데이터베이스가 있습니다. 항목에 대한 테이블 (itemid, itemname, price) 및 주문 테이블 (orderid, itemid, quantity, price) 주문 테이블에 가격 필드가있는 이유는 항목 테이블의 가격이 변경되면 주문 값이 변경되지 않아야하기 때문입니다. 어쨌든 가격을 자동화할 수 있습니까? 나는이 작업을 수행하는 것 캔트 : 당신이 그것을 삽입 할 때SQL 쿼리 결과로 필드

새로운 행을 삽입 할 수있는 유일한 응용 프로그램 (들)을 작성하는 경우
CREATE TABLE ORDER(
    OrderID INT IDENTITY(1,1) PRIMARY KEY, 
    ItemID INT NOT NULL, 
    Quantity INT NOT NULL, 
    Price MONEY AS (SELECT Price FROM ITEM) 
    ); 
+0

새 주문을 만들 때마다 현재 가격을 조회합니다. SQL에서이 작업을 수행 할 수있는 확실한 방법은 없습니다. * 어쩌면 여전히 추한 트리거 일 수도 있습니다. –

+0

멍청한 주문은 일반적으로 관계형 데이터베이스를 사용하는 경우 조금 비정규 화해야하는 일종의 것입니다. – phoebus

+0

오케이 음, 내 추가 절차에서 내가 그것을 찾아 그것을 할당해야 할거야. 쉬운 출구가 없어. –

답변

0

후 주문 행의 가격을 설정합니다.

그렇지 않으면 행이 어디서나 해당 테이블에 삽입 될 때마다 실행할 트리거를 고려하십시오. 레코드를 데이터베이스에 기록하기 전에 항목 가격을 조회하고 주문 값을 설정할 수 있습니다.

+0

네, 그게 내가 할 수있는 일이야. 많은 사람. –

관련 문제