【发布时间】:2014-11-30 05:08:57
【问题描述】:
我创建了一个密码至少为 8 个字符的函数。
CREATE OR REPLACE FUNCTION password_function (
username VARCHAR2,
password VARCHAR2,
old_password VARCHAR2)
RETURN BOOLEAN AS
BEGIN
IF LENGTH(password) < 8 THEN
RETURN FALSE;
ELSE
RETURN TRUE;
END IF;
END password_function;
/
比我改变 user1 的个人资料像
“更改配置文件 user1 限制密码_验证_功能密码_功能”
然后,当我尝试使用 user1 个人资料和 9 个字符的密码创建用户时,出现以下错误。
SQL> 创建由 Passowrd1 配置文件 user1 标识的用户测试; 创建由 Passowrd1 标识的用户测试 * 第 1 行出现错误:
ORA-28003: 指定密码的密码验证失败
ORA-06503:PL/SQL:函数返回无值
你能告诉我我的功能有什么问题吗?以及如何解决?
【问题讨论】:
-
ORA-28003:好像没问题,如果输入正确的密码会怎样? -
"ORA-06503: PL/SQL: function returned without value" 表示您的函数不返回任何值(在某些情况下可能)。您确定您列出的代码与您创建用户时使用的代码完全相同吗?