【发布时间】:2016-11-15 17:07:15
【问题描述】:
我创建了两个表deposit 和final_balance;我想在deposit 表中求和deposit_amount 并将结果插入到final_balance 表中。
我可以使用触发器吗?
CREATE TABLE deposit(cust_id VARCHAR2(10),loan_id VARCHAR2(10),deposit_type VARCHAR2(10),deposit_amount NUMBER(20));
INSERT INTO deposit values ('001CUS1','001LOAN1','Fixed',3500);
INSERT INTO deposit values ('001CUS2','001LOAN2','Fixed',3900);
INSERT INTO deposit values ('001CUS3','001LOAN3','Fixed',7000);
INSERT INTO deposit values ('001CUS4','001LOAN4','Fixed',28000);
INSERT INTO deposit values ('001CUS5','001LOAN5','Fixed',15200);
INSERT INTO deposit values ('001CUS6','001LOAN6','Fixed',2420);
INSERT INTO deposit values ('001CUS7','001LOAN7','Primary',2420);
INSERT INTO deposit values ('002CUS1','002LOAN1','Primary',27000);
INSERT INTO deposit values ('002CUS2','002LOAN2','Primary',20200);
INSERT INTO deposit values ('002CUS3','002LOAN3','Primary',6900);
CREATE TABLE final_balance(
total_deposit NUMBER(20)
);
【问题讨论】:
-
创建视图会更好吗?想想看。每次这 2 列更改时,您都应该升级表 final_balance。我假设您想要一些报告,然后查看比表格更好的解决方案。
-
请发布您尝试过的内容。当您修改存款表中的数据时,您是否需要自动更新您的 final_balance 表?或者您是否需要一次性评估结果,而不需要处理存款表上的修改?
-
我想对总存款金额求和并在总存款字段中插入最终余额表#evgeniyK
-
是的,我需要在修改存款表中的数据时自动更新 final_balance 表,#Evgeniy K
-
@brids 答案:是的,您可以使用触发器。我不喜欢这个解决方案。我更喜欢 mv 或简单视图。这也意味着如果您想为作为简单查询结果的单行创建表,那么 smt 对您的数据库设计是错误的。
标签: sql oracle oracle11g triggers