oracle发票验证,通过使用Oracle SQL脚本进行计算(总发票)的多个表的更新记录...

我有一个SERVICE表,该表存储一个表中的服务数量,然后链接到连接到INVOICE的LINE表。通过使用Oracle SQL脚本进行计算(总发票)的多个表的更新记录

我想要创建一个触发器,根据SERVICE表中的金额更新每行总数,最后在INVOICE表中为发票执行合计。

我被困在UPDATE命令中,以便将20.00更新到LINE表和SERVICE表中。

如何创建此UPDATE?

CREATE TABLE SERVICE

(

ServiceID char(6) NOT NULL,

Description varchar(50) NOT NULL,

Price decimal(6,2) NOT NULL,

CONSTRAINT PK_ServiceID PRIMARY KEY (ServiceID)

);

CREATE TABLE INVOICE

(

InvoiceID char(6) NOT NULL,

InvoiceTotal LONG,

CustomerID char(6) NOT NULL,

EmployeeID char(6) NOT NULL,

InvoiceDate date NOT NULL,

Notes varchar(200),

CONSTRAINT PK_Invoice PRIMARY KEY (InvoiceID),

CONSTRAINT FK_CUSTOMER FOREIGN KEY (CustomerID) REFERENCES CUSTOMER(CustomerID),

CONSTRAINT FK_EMPLOYEE FOREIGN KEY (EmployeeID) REFERENCES EMPLOYEE(EmployeeID)

);

CREATE TABLE LINE (

LineID char(6) NOT NULL,

LineQty int NOT NULL,

LinePrice decimal(6,2),

InvoiceID char(6) NOT NULL,

ServiceID char(6) NOT NULL,

CONSTRAINT PK_LineID PRIMARY KEY (LineID),

CONSTRAINT FK_INVOICE FOREIGN KEY (InvoiceID) REFERENCES INVOICE(InvoiceID),

CONSTRAINT FK_SERVICE FOREIGN KEY (ServiceID) REFERENCES SERVICE(ServiceID)

);

INSERT INTO SERVICE(ServiceID, Description, Price)

VALUES('SE0001', 'Press Shirt', 20.00);

INSERT INTO SERVICE(ServiceID, Description, Price)

VALUES('SE0002', 'Press Slacks', 15.00);

INSERT INTO INVOICE(InvoiceID, CustomerID, EmployeeID, InvoiceDate)

VALUES('IN0001', 'CU0001', 'EE0001', '01-SEP-2011');

INSERT INTO LINE(LineID, LineQty, InvoiceID, ServiceID)

VALUES('LI0001', '2', 'IN0001', 'SE0001');

2011-11-23

JKK

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值