Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PLSQL函数返回文本验证是如何工作的?_Sql_Oracle - Fatal编程技术网

PLSQL函数返回文本验证是如何工作的?

PLSQL函数返回文本验证是如何工作的?,sql,oracle,Sql,Oracle,不幸的是,当我单击提交按钮时,我的验证不起作用。当我点击提交按钮时,“什么”显示为错误,下面的b=null。在用户按下提交按钮后,如何验证注册页面。或者,在“提交”按钮之后,您将如何进行验证 DECLARE error_message varchar2(4000); b varchar2(500); FUNCTION validate_field RETURN VARCHAR2 AS BEGIN b := :P101_REG_FIRST_

不幸的是,当我单击提交按钮时,我的验证不起作用。当我点击提交按钮时,“什么”显示为错误,下面的b=null。在用户按下提交按钮后,如何验证注册页面。或者,在“提交”按钮之后,您将如何进行验证

DECLARE
    error_message varchar2(4000);
    b varchar2(500); 
    FUNCTION validate_field RETURN VARCHAR2
    AS
        BEGIN
    b := :P101_REG_FIRST_NAME;
            IF (REGEXP_LIKE(b, '[A-Za-z]') AND :P101_NEW <> NULL AND NOT(REGEXP_LIKE(b, '[:space:]'))) THEN
                RETURN 'works' || b;

            ELSIF b IS NULL THEN
                RETURN b || 'what';

            ELSIF REGEXP_COUNT(b, '[A-Za-z]')  = 1 THEN 
                RETURN 'Name cannot be single letter';

                ELSE RETURN 'HUH' || ' ' || b;
            END IF;
        END;


        BEGIN
            error_message := '';
            error_message := validate_field;

            IF error_message IS NULL THEN
                RETURN NULL;
            ELSE
                RETURN error_message;
            END IF;
        COMMIT;
        END;
声明
错误消息varchar2(4000);
b varchar2(500);
函数validate_字段返回VARCHAR2
作为
开始
b:=:P101_REG_FIRST_NAME;
如果(REGEXP_LIKE(b,,[A-Za-z]')和:P101_NEW NULL和NOT(REGEXP_LIKE(b,,[:space:')),那么
返回“作品”| b;
如果b为空,则
返回b | |‘什么’;
ELSIF REGEXP_计数(b,'[A-Za-z]')=1,则
返回“名称不能是单个字母”;
否则返回“嗯”|“b”;
如果结束;
结束;
开始
错误消息:='';
错误消息:=验证字段;
如果错误消息为空,则
返回NULL;
其他的
返回错误消息;
如果结束;
犯罪
结束;

我解决了它。我会在早上发布答案,已经很晚了,而且我解决这个问题已经熬夜太久了。不过我感觉很好。感谢您阅读本文。

上午无需发布任何内容。大多数人都知道,像
'anything'NULL
这样的比较永远都是不正确的(这是非常基本的SQL内容),不正确的人可能会在堆栈溢出上引用数百个类似的问题。如果你对自己的答案感到满意,最好的办法是完全删除你的问题。让我们保持网站清洁!