질문SQL 테이블 주문에서 트리거를 작성하는 SQL 명령을 쓰기 여러 테이블을
를 사용하여 트리거합니다. 트리거는 Order 테이블의 새 주문 행에 제품이 나타날 때마다 Product 테이블의 quantityRemaining 열에서 주문 수량을 뺍니다.
테이블
CREATE TABLE Product(
productNo int PRIMARY KEY,
productName VARCHAR(30),
quantityRemaining INT,
cost DECIMAL (10,2) DEFAULT 0.00);
CREATE TABLE Orders(
orderNo INT PRIMARY KEY,
custNo INT CONSTRAINT cusNo_fk REFERENCES CustomerDetails(custNo) ON DELETE CASCADE,
productNo INT CONSTRAINT prodNo_fk REFERENCES Product(productNo) ON DELETE CASCADE,
quantity INT);
시도
CREATE OR REPLACE TRIGGER subtractQuantity
AFTER INSERT ON Orders
FOR EACH ROW
BEGIN
UPDATE Product
SET quantityRemaining = quantityRemaining - quantity
WHERE productNo = :NEW.ProductNo;
END;
/
오류
는 '양'변수를 인식하지 못합니다.
주문이 아니기 때문에 테이블 제품 –