C++ SQL Server创建销售订单触发器

C++ SQL Server创建销售订单触发器,c++,sql,sql-server,C++,Sql,Sql Server,我真的很想知道如何使用这些项目创建触发器。 我有这6个表,我想知道如何创建销售订单触发器。 扩展价格来自sizeprice*数量+额外价格 我希望触发器在订单项中插入Extendedprice的值。 非常感谢所有帮助我克服这些困难的人 Create TABLE CUSTOMER( CustomerID int NOT NULL, CustomerFirstName char(40) NOT NULL, CustomerLast

我真的很想知道如何使用这些项目创建触发器。 我有这6个表,我想知道如何创建销售订单触发器。 扩展价格来自sizeprice*数量+额外价格 我希望触发器在订单项中插入Extendedprice的值。 非常感谢所有帮助我克服这些困难的人

Create TABLE CUSTOMER(
    CustomerID          int         NOT NULL,
    CustomerFirstName   char(40)    NOT NULL, 
    CustomerLastName    char(40)    NOT NULL,
    Email               char(40)    NOT NULL,
    CustomerAddress     char(100)   NOT NULL,
    Phone           char(20)    NOT NULL,

    CONSTRAINT     CUSTOMER_PK  PRIMARY KEY (CustomerID)
);  

Create TABLE BASE_TYPE(
    BaseCode        int           NOT NULL,
    BaseDescription     char(40)      NOT NULL

    CONSTRAINT  BASE_TYPE_PK    PRIMARY KEY (BaseCode)
);  


Create TABLE PIZZA_SIZE(
    SizeCode   int           NOT NULL,
    SizeType   char(10)      NOT NULL,
    SizePrice  numeric(10,2) NOT NULL,  
    CONSTRAINT  PIZZA_SIZE_PK   PRIMARY KEY (SizeCode)
);  

Create TABLE EXTRA_TOPPING(
    ExtraToppingCode     int           NOT NULL,
    ExtraToppingDetail   char(20)      NOT NULL,
    ExtraToppingPrice    numeric(10,2) NOT NULL

    CONSTRAINT  EXTRA_TOPPING_PK PRIMARY KEY(ExtraToppingCode)
);  


CREATE TABLE PIZZA(
    PizzaID      int        NOT NULL,  
    PizzaTopping char(40)   NOT NULL,
    BaseCode     int        NOT NULL,
    SizeCode     int        NOT NULL,
    CONSTRAINT  PIZZA_PK       PRIMARY KEY (PizzaID),
    CONSTRAINT  BASE_TYPE_FK1  FOREIGN KEY (BaseCode)
                       REFERENCES  BASE_TYPE(BaseCode)
                       ON UPDATE CASCADE
                       ON DELETE NO ACTION,
    CONSTRAINT  PIZZA_SIZE_FK    FOREIGN KEY (SizeCode)
                         REFERENCES  PIZZA_SIZE(SizeCode)
                             ON UPDATE CASCADE
                         ON DELETE NO ACTION
);

Create TABLE SALES_ORDERS(
    SalesOrderNumber    int         NOT NULL,
    CustomerID          int         NOT NULL,
    OrderDate           datetime    NOT NULL,  
    CONSTRAINT  SALES_ORDERS_PK PRIMARY KEY (SalesOrderNumber),
    CONSTRAINT  CUSTOMER_FK1    FOREIGN KEY (CustomerID)
                        REFERENCES  CUSTOMER(CustomerID)
                        ON UPDATE CASCADE
                        ON DELETE NO ACTION,
                        );


CREATE TABLE ORDER_ITEM(
    SalesOrderNumber    int           NOT NULL,
    PizzaID         int           NOT NULL,
    ExtraToppingCode    int           NULL,
    Quantity        numeric       NOT NULL,
    ExtendedPrice       numeric(10,2) NULL,

    CONSTRAINT  ORDER_ITEM_PK1 PRIMARY KEY (SalesOrderNumber,PizzaID),
    CONSTRAINT  ORDER_ITEM_FK1   FOREIGN KEY (SalesOrderNumber)
                         REFERENCES     SALES_ORDERS(SalesOrderNumber)
                         ON UPDATE NO ACTION
                         ON DELETE NO ACTION,
    CONSTRAINT  ORDER_ITEM_FK2      FOREIGN KEY (PizzaID)
                            REFERENCES      PIZZA(PizzaID)
                            ON UPDATE CASCADE
                            ON DELETE NO ACTION,
    CONSTRAINT  ORDER_ITEM_FK3      FOREIGN KEY (ExtraToppingCode)
                            REFERENCES      EXTRA_TOPPING(ExtraToppingCode)
                            ON UPDATE CASCADE
                            ON DELETE NO ACTION  
                            );

为什么有一个C++标签?我必须在视图上创建一个触发器,但是它总是说多个部分标识符…无法约束。我已经得到了一个可以计算扩展价格的视图。