用于更新电话号码的 Oracle 触发器



电话号码以以下格式从网络服务发送到我们的数据库:

1-210-5551212

如果前两个字符是"1-",我希望将它们输入到字段中:

1-210-555-1212

如何创建插入或更新触发器来实现此目的?

如果 Web 服务中的格式保持不变,则可以执行此操作。

CREATE TABLE PHONE_NUMBERS(PH_ID NUMBER(12), PHONE_NUMBER VARCHAR2(20));

   CREATE OR replace TRIGGER trg_test_numbers 
  BEFORE INSERT OR UPDATE ON phone_numbers 
  FOR EACH ROW 
BEGIN 
    IF Substr(:new.phone_number, 1, 2) = '1-' THEN 
      :new.phone_number := Substr(:new.phone_number, 1, 9) 
                           || '-' 
                           || Substr(:new.phone_number, 10); 
    END IF; 
END trg_test_numbers; 
insert into phone_numbers(ph_id, phone_number) VALUES(1,'1-210-5551212');
SELECT * from phone_numbers;

最新更新