如何获取varchar的字符数

Ale*_*cha 1 sql oracle

我尝试在插入或更新时执行限制字符数的触发器

CREATE OR REPLACE TRIGGER trigpersonfone
 BEFORE INSERT OR UPDATE OF phone ON PhonePerson
 FOR EACH ROW
   BEGIN
      IF :NEW.phone.LENGTH < 8 THEN 
         DBMS_OUTPUT.put_line('The phone cannot have less then 8 numbers');
      END IF;
  END;
/
Run Code Online (Sandbox Code Playgroud)

我正在使用oracle live并且这个ide没有显示出错误的日志.有人能告诉我我的sql代码有什么问题吗?谢谢

Gor*_*off 5

使用check约束,而不是触发器:

alter table PhonePerson add constraint chk_phoneperson_phone check (length(phone) >= 8);
Run Code Online (Sandbox Code Playgroud)