TRIGGER trigger_name
---- PROCESS_MATERIAL_INFO 表名
BEFORE INSERT ON PROCESS_MATERIAL_INFO
FOR EACH ROW
DECLARE
---- v_other_field 变量名 STEEL_NO.STEEL_NO_CODE 表名.字段
v_other_field STEEL_NO.STEEL_NO_CODE%TYPE;
BEGIN
SELECT STEEL_NO.STEEL_NO_NAME INTO v_other_field
FROM STEEL_NO
-- 牌号字段 相等字段做比较
WHERE STEEL_NO.STEEL_NO_CODE = :NEW.STEEL_NO;
--不为null赋值
IF v_other_field IS NOT NULL THEN
-- 获取牌号名称 赋值到 PROCESS_MATERIAL_INFO 表
:NEW.STEEL_NO_NAME := v_other_field;
END IF;
END;
------ 这个跟上面那个比, STEEL_NO.STEEL_NO_CODE = :NEW.STEEL_NO; 比较为假 跳出异常继续执行添加数据操作(使用环境 比较字段数据没有,不影响添加操作)
CREATE OR REPLACE TRIGGER TRIGGER_PROCESS_MATERIAL_INFO
BEFORE INSERT ON PROCESS_MATERIAL_INFO
FOR EACH ROW
DECLARE
v_other_field STEEL_NO.STEEL_NO_CODE%TYPE;
BEGIN
BEGIN
SELECT STEEL_NO.STEEL_NO_NAME INTO v_other_field
FROM STEEL_NO
WHERE STEEL_NO.STEEL_NO_CODE = :NEW.STEEL_NO;
IF v_other_field IS NOT NULL THEN
:NEW.STEEL_NO_NAME := v_other_field;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
-- Handle the case where no data is found
NULL;
WHEN OTHERS THEN
-- Handle any other exceptions
NULL;
END;
END;