3,492
社区成员
发帖
与我相关
我的任务
分享
--建表
create table vehicle_gps_history
(LONGITUDE varchar(10),
LATITUDE varchar(10),
KPM varchar(10),
ANGLE varchar(10),
MSG_REC_TIME varchar(10),
VEHICLE_NUM varchar(10),
VEHICLE_ID int );
create table gis_vehicle_gps as select * from vehicle_gps_history;
---触发器
create or replace trigger gps_history_triger
before insert
ON vehicle_gps_history
for each row
begin
update gis_vehicle_gps
set LONGITUDE = :NEW.LONGITUDE,
LATITUDE = :NEW.LATITUDE,
KPM = :NEW.KPM,
ANGLE = :NEW.ANGLE,
MSG_REC_TIME = :NEW.MSG_REC_TIME,
VEHICLE_NUM = :NEW.VEHICLE_NUM
where VEHICLE_ID = :NEW.VEHICLE_ID;
end;
--测试数据
insert into gis_vehicle_gps values('','','','','','',23);
insert into vehicle_gps_history values('aa3','bb3','ec3','ef3','rt33','tt',23);
--查询结果
达到更新表gis_vehicle_gps目的
--触发器代码
create or replace trigger dept_log_tri
before insert on dept
for each row
begin
update deptlog set
deptnolog=:new.deptno,
dnamelog=:new.dname,
loclog=:new.loc;
end;
SQL> select * from deptlog;--先查询deptlog表为空
未选定行
SQL> insert into dept values(60,'nanchang','jx');
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from deptlog;--往dept表中插入数据后查询deptlog表还是为空(你现在的情况)
未选定行
SQL> insert into deptlog values(60,'nanchang','jx');--往deptlog表中插入数据
已创建 1 行。
SQL> commit;
提交完成。
SQL> insert into dept values(70,'jiujiang','jx');--再往dept表中插入数据
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from deptlog;--得到你要的结果了
DEPTNOLOG DNAMELOG LOCLOG
---------- -------------- -------------
70 jiujiang jx