【问题标题】:PL/SQL create triggerPL/SQL 创建触发器
【发布时间】:2018-04-01 15:36:46
【问题描述】:

创建一个名为 biufer_customer 的触发器,该触发器在插入或更新 customer 表中的 passwd 列之前启动。触发器应验证密码长度是否正好为六个字符,不多也不少。除非满足此要求,否则触发器应停止事务并确认发生此错误。

create or replace trigger biufer_customer
before insert or update 
of passwd
on customer
for each row
when (new.passwd <> 6)
begin
    raise_application_error(-20001,'Wrong password!');
end;
/

【问题讨论】:

  • 您的实际问题是什么?我们不只是为你做你的任务。那个代码是什么?你试过运行它吗?是否导致错误?那是什么?
  • 特殊字符,即非 ASCII 字符呢?很多时候建议您使用特殊字符作为密码。你可以计算不同的,见LENGTH
  • 我错过了长度函数,现在代码可以工作了:)

标签: oracle plsql database-trigger


【解决方案1】:

你应该使用LENGTH函数

...
when(length(new.passwd) <> 6) 
...

【讨论】:

  • 我错过了长度功能。非常感谢:)
猜你喜欢
  • 1970-01-01
  • 2013-06-03
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-18
  • 2011-08-06
  • 2021-12-27
相关资源
最近更新 更多