首页 文章

字符串范围是正确的,为什么仍然得到PLS-00215:字符串长度约束必须在范围内(1..32767)

提问于
浏览
2
CREATE FUNCTION GET_NAME( V_CODE VARCHAR2) RETURN VARCHAR2
AS
    NAME VARCHAR2(242);
BEGIN
    SELECT DISTINCT FACT_NAME
    INTO NAME
    FROM TABLEXXX
    WHERE FACT_CODE = V_CODE;
RETURN NAME;
END;

为什么甚至定义长度为242的VARCHA2,它仍然显示此错误?太奇怪了 .

字符串长度约束必须在范围内(1 .. 32767)

1 回答

  • 1

    它应该如下所示:

    CREATE FUNCTION GET_NAME( PV_CODE VARCHAR2) RETURN VARCHAR2
        AS
            LV_NAME VARCHAR2(242);
        BEGIN
            SELECT DISTINCT NAME
            INTO LV_NAME
            FROM TABLEXXX
            WHERE NAME_CODE = PV_CODE;
        RETURN LV_NAME;
        END;
    /
    

    您应该在每个变量之前使用前缀,因为它们会导致冲突

相关问题