我有两个名为t_engineer的表和一个名为t_lockers
的表当我更新表t_locker中的locker_id时,t_engineer表已经在该表的locker_id字段中包含数据,因此我想使用放在t_lockers表中的新数据覆盖此数据。
这是我到目前为止所做的:
CREATE or REPLACE
TRIGGER IDT_Engineer_ID
AFTER UPDATE OF locker_id ON t_lockers
FOR EACH ROW
BEGIN
update t_engineer.locker_id
set t_engineer.locker_id = t_lockers.locker_id
where t_engineer.locker_id = t_engineer.locker_id
END;
谢谢
,架构是:
CREATE TABLESPACE "3PLData"
DATAFILE '3PLData.dbf'
SIZE 5G
REUSE
AUTOEXTEND ON NEXT 5G MAXSIZE 10G;
CREATE USER "3PL_SCHEMA" IDENTIFIED BY "7BK8-vE769J.7azQ"
DEFAULT TABLESPACE "3PLData"
TEMPORARY TABLESPACE "TEMP";
GRANT "DBA" TO "3PL_SCHEMA" ;
GRANT "CONNECT" TO "3PL_SCHEMA" ;
GRANT "RESOURCE" TO "3PL_SCHEMA" ;
ALTER USER "3PL_SCHEMA" DEFAULT ROLE "DBA","CONNECT","RESOURCE";
希望这能为您提供足够的信息以查看问题所在......
答案 0 :(得分:0)
试试这个:
CREATE OR REPLACE TRIGGER IDT_Engineer_ID
AFTER INSERT ON t_lockers FOR EACH ROW
begin
insert into t_engineer (locker_id) values (:NEW.locker_id);
end;
答案 1 :(得分:0)
表格结构存在缺陷。
工程师和工作人员之间的关系是什么?更衣室? 它是一对多,多对多吗?
在任何情况下,您都不需要在两个表格中都有engineer_id和locker_id。
要么在t_locker中有engineer_id和locker_id,并且在t_engineer中只有engineer_id
或
在t_locker中有locker_id,在t_engineer中有engineer_id和locker_id