ORACLE SQL 密码功能

LAXO

需要创建一个验证密码的函数(超过 5 个字符,与前一个不同,它既不是“密码”也不是“123456”)我试过这个,但我得到了错误

CREATE OR REPLACE FUNCTION my_verification_function (
    username VARCHAR2, 
    password VARCHAR2, 
    old_password VARCHAR2)
RETURN BOOLEAN IS 
BEGIN 
    IF LENGTH(password) < 6 THEN RETURN FALSE; 
    ELSE IF (password = "password" OR password = '123' OR password = old_password) THEN RETURN FALSE                                 
    ELSE RETURN TRUE;
    END IF;
END my_verification_function;$
奥托·沙瓦泽(Oto Shavadze)
CREATE OR REPLACE FUNCTION my_verification_function (
    username VARCHAR2, 
    pass VARCHAR2, 
    old_password VARCHAR2)
RETURN varchar2   IS 
BEGIN 
    IF LENGTH(pass) < 6 THEN RETURN 'FALSE'; 
    ELSIF (pass = 'password' OR pass = '123456' OR pass = old_password) THEN RETURN 'FALSE';
    ELSE RETURN 'TRUE';
    END IF;
END;

几个注意事项:

1)你应该使用ELSIF而不是ELSE IF

2) 如果你需要在“纯”SQL 中调用这个函数,BOOLEANtype 会给你错误,所以你可以VARCHAR2改用。

3)不要使用保留字,如 PASSWORD

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章